VM और PyCharm के साथ कस्टम PYTHONPATH को कैसे कॉन्फ़िगर करें?


85

मैं अपने वैजंट वीएम के साथ संवाद करने के लिए पायथन प्लगइन और रिमोट इंटरप्रेटर सुविधा के साथ इंटेलीजे का उपयोग कर रहा हूं । यह मेरे वीएम के दुभाषिया का उपयोग करने के लिए रिमोट दुभाषिया को सही ढंग से सेट करता है। लेकिन, मैं अपने VM में एक कस्टम PYTHONPATH का उपयोग करता हूं, और मैं चाहूंगा कि IntelliJ उस पथ को पहचानें और विकास करते समय उस पथ में मॉड्यूल शामिल करें।

VM पर कस्टम PYTHONPATH का उपयोग करने के लिए मैं IntelliJ / PyCharm के दूरस्थ दुभाषिया को कैसे कॉन्फ़िगर करूं?


मेरे पास वास्तव में यह मुद्दा है, सिवाय इसके कि मेरे पास एक आम योजना के बाद कई परियोजनाएं हैं और अभी (एमएसीएस में) मैंने गतिशील रूप से सब कुछ स्थापित किया है। Pycharm में प्रति-परियोजना के आधार पर इसे स्थापित करना एक बोझ जैसा लगता है।
आदम

जवाबों:


124

PyCharm 5 (या 2016.1) के लिए, आप यह कर सकते हैं:

  1. प्राथमिकताएँ> प्रोजेक्ट इंटरप्रेटर चुनें
  2. दुभाषिया चयनकर्ता के दाईं ओर एक "..." बटन है, इसे क्लिक करें
  3. "अधिक ..." चुनें
  4. एक नया "प्रोजेक्ट इंटरप्रिटर्स" विंडो पॉप अप करें
  5. सबसे दाहिने बटन का चयन करें (नाम "चयनित दुभाषिया के लिए पथ दिखाएं")
  6. एक "इंटरप्रेटर पाथ्स" विंडो को पॉप अप करें
  7. "+" बटन पर क्लिक करें> अपनी इच्छित PYTHONPATH निर्देशिका का चयन करें (वह फ़ोल्डर जिसमें अजगर मॉड्यूल हैं) और ठीक क्लिक करें
  8. किया हुआ! का आनंद लें!

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें


यह मैं अपनी परियोजना में करता हूं, इसलिए कष्टप्रद है। मेरे पास प्रोजेक्ट ए, प्रोजेक्ट कॉमन, प्रोजेक्ट टेस्ट है। प्रोजेक्ट परीक्षण के तहत unittests चलाने के लिए, मैंने प्रोजेक्ट निर्भरताएं जोड़ीं, इसलिए प्रोजेक्ट टेस्ट प्रोजेक्ट A और आम पर निर्भर करता है, लेकिन मुझे अभी भी A और PYTHONPATH में आम तौर पर फ़ोल्डर्स को जोड़ना होगा।
थिंकटॉर्नोन

यह उस दुभाषिया अधिकार के लिए वैश्विक PYTHONPATH के लिए निर्देशिका जोड़ देगा? सिर्फ प्रोजेक्ट ही नहीं?
रे

@ हाँ, लगता है कि यह वैश्विक दुभाषिया सेटिंग्स को बदल देगा। लेकिन हम विभिन्न परियोजनाओं के लिए अलग-अलग virtualenv का उपयोग कर सकते हैं और उनके लिए अलग PYTHONPATH सेट कर सकते हैं।
फिल

ध्यान दें कि आपको पहले दुभाषिया को अपनी परियोजना के दुभाषिए के रूप में सेट करना होगा, अन्यथा, बाईं ओर का बटन अक्षम हो गया है
ospider

OSX पर, Cmd + Shift + Period चुनिंदा डायलॉग (जैसे / usr) में छिपे हुए फ़ोल्डरों को दिखाता है - क्योंकि इसमें सिर्फ रास्ता टाइप करना प्रतीत नहीं होता है।
फ्लैश

83

अपने PYTHONPATH को संपादित करने या कोड निरीक्षण के लिए आयात संकल्प समस्याओं को ठीक करने के निर्देश निम्नानुसार हैं:

  1. खुला वरीयताएँ (एक मैक पर कीबोर्ड शॉर्ट कट है ⌘,)।

मेनू से सेटिंग्स में कैसे जाएं

  1. Project Structureबाईं ओर के साइडबार में देखेंProject: Your Project Name

  2. सही साइडबार पर मॉड्यूल जोड़ें या निकालें

Pycharm 4.5 में प्रोजेक्ट स्ट्रक्चर सेटिंग्स

EDIT : मैंने इस स्क्रीन शॉट को PyCharm 4.5 के लिए अपडेट किया है


क्या यह अभी भी लागू होता है? मेरे पास नवीनतम PyCharm पेशेवर हैं, लेकिन मुझे उन श्रेणियों की बहुत याद आ रही है .. परियोजना संरचना सहित! लेकिन यह पोस्ट करने के लिए धन्यवाद !!!
आर क्लैवन

1
नमस्ते, मैंने PyCharm 4.5 के लिए स्क्रीनशॉट को अपडेट किया है, जो सबसे हालिया संस्करण है। ऐसा लगता है कि उन्होंने साइडबार में सेटिंग्स को पुनर्गठित किया है।
ब्योर्न

वास्तव में मैं आपको मासी धन्यवाद देता हूं। मैं प्रोजेक्ट सेटिंग्स के बजाय "डिफ़ॉल्ट सेटिंग्स" के साथ खिलवाड़ कर रहा था। यहाँ आपके उत्तर ने मुझे यह महसूस करने में मदद की और फिर मैंने कई विसंगतियों को हल किया और इसने काम किया। धन्यवाद!
आर क्लैवन

क्या विश्व स्तर पर ऐसा करने का कोई तरीका है? /Library/Python/2.7/site-packages और /usr/local/lib/python2.7/site-packages को हर उस परियोजना में जोड़ रहा हूं, जो मैं खोलता हूं।
jeremyjjbrown

हां @jeremyjjbrown, मेरा मानना ​​है कि आप "प्रोजेक्ट इंटरप्रेटर" पर क्लिक करके और इंटरप्रिटर पथ का चयन कर सकते हैं जिसमें आपके इच्छित साइट पैकेज हैं। यह सवाल सिर्फ प्रोजेक्ट विशिष्ट पैकेज को उनकी परियोजनाओं के लिए उपलब्ध कराने का जवाब दे रहा था। तुम भी pycharm में अपने सभी चित्रपट परियोजना को जोड़ने के लिए एक आवश्यकताओं का उपयोग कर सकते हैं।
ब्योर्न

16

मेरे पास समाधान के लिए जाना था

Run > Edit Configuration > Defaults > Python

फिर प्रबंधन करें

  • "PYTHONPATH में सामग्री जड़ें जोड़ें" और
  • "PYTHONPATH में स्रोत रूट जोड़ें"

चेकबॉक्स, साथ ही "वर्किंग डायरेक्टरी" फ़ील्ड सेट कर रहा है।

यदि आपने अपना स्वयं का रन / डिबग कॉन्फ़िगरेशन सेट किया है तो आप जाना चाहते हैं

Run > Edit Configuration > Python > [Whatever you called your config]

और इसे वहां संपादित करें।

मेरी समस्या यह थी कि मैं अपनी पूरी रिपॉजिटरी अपने PyCharm 2016.2 प्रोजेक्ट में शामिल करना चाहता था, लेकिन केवल एक सबफ़ोल्डर वास्तविक अजगर स्रोत कोड रूट था। फिर मैंने फ़ोल्डर को राइट क्लिक करके इसे "सोर्स रूट" के रूप में जोड़ा

Mark directory as > Source Root

फिर अनचेक करें "सामग्री जड़ों को PYTHONPATH में जोड़ें" और रन / डिबग कॉन्फिग मेनू में "PYTHONPATH में सोर्स रूट जोड़ें" चेक करें। मैंने तब ऐसा करके फ़ोल्डर पाथिंग की जाँच की:

import sys
logger.info(sys.path)

यह आउटपुट हुआ:

[
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', 
    '/usr/lib/python3.4/lib-dynload', 
    '/usr/local/lib/python3.4/dist-packages', 
    '/usr/lib/python3/dist-packages'
]

हालांकि, यह तय किए बिना कहा:

[
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/local/my_project_root',                   <-- NOT WANTED
    '/usr/lib/python3.4', 
    '/usr/lib/python3.4/plat-x86_64-linux-gnu', 
    '/usr/lib/python3.4/lib-dynload', 
    '/usr/local/lib/python3.4/dist-packages', 
    '/usr/lib/python3/dist-packages'
]

जिसका मतलब है कि मुझे प्रोजेक्ट रूट फ़ोल्डर शामिल है। इसने मेरे लिए पथभ्रष्ट कर दिया।


धन्यवाद, मैं कोई पायथन विशेषज्ञ नहीं हूँ और मैं सोच रहा हूँ कि मैं कैसे आयात पथ पर झाँक सकता हूँ! (वह sys.pathभाग)
२०:० R पर रस्तिकान

यह आदर्श नहीं है क्योंकि हर रन कॉन्फ़िगरेशन को अपडेट करने की आवश्यकता होती है।
StephenBoesch

@javadba यदि आप चाहते हैं कि यह सभी विन्यासों के लिए काम करे तो Run > Edit Configuration > Templates > Pythonइसके बजाय पर जाएँ।
एंड्रे सी। एंडरसन

@ AndréC.Andersen thx! मैंने कभी नहीं भी देखा पर टेम्पलेट्स से पहले।
स्टीफनबॉश

13

यह PyCharm समुदाय 2019.1 के साथ किया गया था

  1. प्रोजेक्ट सेटिंग्स पर जाएं समायोजन
  2. प्रोजेक्ट संरचना पर जाएं और उस निर्देशिका पर राइट क्लिक करें जिसे आप जोड़ना चाहते हैं और "स्रोत" पर क्लिक करें प्रोजेक्ट संरचना - स्रोत जोड़ें

यह निर्देशिका को आपके pythonpath में जोड़ना चाहिए प्रोजेक्ट स्ट्रक्चर - ऐड सोर्स के बाद


3

Pycharm के अधिक हाल के संस्करणों (जैसे 2019.2) के लिए प्रदान किए गए सही उत्तर फिल के लिए एक अद्यतन ।

फ़ाइल> सेटिंग्स पर जाएं और अपना प्रोजेक्ट ढूंढें, फिर प्रोजेक्ट इंटरप्रेटर चुनें । अब चयनित परियोजना दुभाषिया के दाईं ओर एक कॉग के साथ बटन पर क्लिक करें (एक ... का उपयोग किया जाना चाहिए )।

यहां छवि विवरण दर्ज करें

ड्रॉप-डाउन मेनू से सभी दिखाएँ ... और खुलने वाले संवाद में एक फ़ोल्डर और दो उप-फ़ोल्डर वाले आइकन पर क्लिक करें।

यहां छवि विवरण दर्ज करें

आपको वर्तमान दुभाषिया पथ के साथ एक संवाद के साथ प्रस्तुत किया गया है, एक और जोड़ने के लिए + पर क्लिक करें ।


धन्यवाद!!! एक सहकर्मी और मैं मैच के लिए अपने वातावरण को प्राप्त करने के लिए जूझ रहे हैं, और मुझे इन चरणों को करने की कोई याद नहीं है , लेकिन वहां एक महत्वपूर्ण रास्ता है जो मेरे पास है (जो कि "उपयोगकर्ता द्वारा जोड़ा गया" भी कहता है)।
ड्रोक

2

मेरे अनुभव में, PYTHONPATH चर का उपयोग करना आमतौर पर गलत दृष्टिकोण है, क्योंकि यह विंडोज़ पर वीएनवी के साथ अच्छी तरह से नहीं खेलता है। लोडिंग पर PYTHON पथ को PYTHONPATH से जोड़कर रास्ता तैयार करेगा, जिसके परिणामस्वरूप आपके सावधानीपूर्वक तैयार किए गए Venv अधिमान्य रूप से वैश्विक साइट पैकेज ला सकते हैं।

PYTHON पथ का उपयोग करने के बजाय, संबंधित साइट-पैकेज निर्देशिका में एक pythonpath.pth फ़ाइल शामिल करें (हालाँकि beware कस्टम pythons कभी-कभी उनके लिए अलग-अलग स्थानों में खोज करते हैं, जैसे उत्साहित निर्देशिका में pththon.exe के रूप में एक ही निर्देशिका में इसकी .pth फ़ाइलों के साथ)। प्रत्येक आभासी वातावरण। यह PYTHONPATH की तरह कार्य करेगा यह केवल अजगर स्थापना के लिए विशिष्ट होगा, इसलिए आप प्रत्येक अजगर स्थापना / पर्यावरण के लिए एक अलग हो सकते हैं। Pycharm VENV के साथ दृढ़ता से एकीकृत करता है यदि आप बस अपने pyonon अधिष्ठापन के रूप में VENV के अजगर को धोखा देने जाते हैं।

.Pth फ़ाइलों पर अधिक जानकारी के लिए यह SO प्रश्न देखें ।…।



0

वैसे आप दुभाषिया के संवाद बॉक्स में जाकर ऐसा कर सकते हैं। आपके द्वारा उपयोग किए जा रहे दुभाषिया पर क्लिक करें, और उसके नीचे, आपको दो टैब, एक को संकुल, और दूसरे को पथ कहा जाना चाहिए।

Path पर क्लिक करें, और अपने VM पथ को इसमें जोड़ें।


जब मैं दूरस्थ दुभाषिया पर क्लिक करता हूं और क्लासपाथ जोड़ता हूं, तो यह शिकायत करता है कि मैं एक दूरस्थ निर्देशिका (जैसे /home/vagrant/mydir) निर्दिष्ट करता हूं । क्या मुझे किसी चीज़ के साथ मार्ग प्रस्तुत करने की आवश्यकता है? मेरा इंटरफ़ेस थोड़ा अलग है क्योंकि मैं पाइथन प्लगइन के साथ IntelliJ का उपयोग कर रहा हूं और अगर Py मदद करता है तो Pyharm नहीं।
बालेक्सैंडर

1
वैसे आप बस SSH दुभाषिया पर जा सकते हैं, और वेजेंट फ़ाइल से सामान लोड कर सकते हैं, इसका एक विकल्प है।
गेम ब्रेनियाक

0

Pycharm 5 में इसका अनुसरण करें, https://www.jetbrains.com/pycharm/help/configuring-python-interpreter-for-a-project.html

1) सेटिंग्स डायलॉग बॉक्स खोलें, और प्रोजेक्ट इंटरप्रेटर पेज पर क्लिक करें।
2) प्रोजेक्ट्स फलक में, इच्छित प्रोजेक्ट चुनें।
3) चयनित परियोजना के लिए, उपलब्ध पायथन दुभाषियों और आभासी वातावरण की सूची से एसडीके चुनें।


0

Intellij v2017.2 में आप यहां जा सकते हैं:

run > edit configurations > click ... next to the field 'Environment variables' > click the green + sign

नाम = PYTHONPATH

मान = your_python_path

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.