जवाबों:
आप सेट नहीं करते हैं PYTHONPATH
, आप प्रविष्टियों को जोड़ते हैं sys.path
। यह उन निर्देशिकाओं की एक सूची है जिन्हें पायथन पैकेजों के लिए खोजा जाना चाहिए, ताकि आप अपनी निर्देशिकाओं को उस सूची में जोड़ सकें।
sys.path.append('/path/to/whatever')
वास्तव में, पथ विभाजक चरित्र ( लिनक्स पर सिस्टम, विंडोज पर) sys.path
के मूल्य को विभाजित करके शुरू किया जाता है ।PYTHONPATH
:
;
आप निर्देशिकाओं का उपयोग करके भी जोड़ सकते हैं site.addsitedir
, और यह विधि .pth
आपके द्वारा पारित निर्देशिकाओं के भीतर मौजूद फाइलों को भी ध्यान में रखेगी। (यह आपके द्वारा निर्दिष्ट निर्देशिकाओं के मामले में नहीं होगा PYTHONPATH
।)
आप इसके माध्यम से पर्यावरण चर प्राप्त कर सकते हैं और सेट कर सकते हैं os.environ
:
import os
user_home = os.environ["HOME"]
os.environ["PYTHONPATH"] = "..."
लेकिन चूंकि आपका दुभाषिया पहले से ही चल रहा है, इसलिए इसका कोई प्रभाव नहीं होगा। आप बेहतर उपयोग कर रहे हैं
import sys
sys.path.append("...")
वह सरणी जो आपके PYTHONPATH
दुभाषिया स्टार्टअप में बदल जाएगी।
यदि आप sys.path.append('dir/to/path')
जांच के बिना डालते हैं तो यह पहले से ही जोड़ा जाता है, तो आप एक लंबी सूची बना सकते हैं sys.path
। उसके लिए, मैं यह सलाह देता हूं:
import sys
import os # if you want this directory
try:
sys.path.index('/dir/path') # Or os.getcwd() for this directory
except ValueError:
sys.path.append('/dir/path') # Or os.getcwd() for this directory
आप सेट कर सकते हैं PYTHONPATH
, के द्वारा os.environ['PATHPYTHON']=/some/path
, फिर आपको कॉल करने की जरूरत है os.system('python')
नए जोड़े गए पथ प्रभावी बनाने के लिए अजगर खोल पुनः आरंभ करने की।
os.system()
"अजगर शेल को पुनः आरंभ नहीं करता है", यह एक नया इंटरैक्टिव पायथन उदाहरण शुरू करता है। जब आप उससे लौटते हैं, तो आप कॉलिंग स्क्रिप्ट में वापस आ जाते हैं।
sys.path.insert(0, '/path/to/whatever')
।