मुझे पता है कि इसे अपने/etc/प्रोफ़ाइल में और मेरे पर्यावरण चर में कैसे सेट करें।पायथन लिपि में, मैं पायथनपैट कैसे सेट करूं?
लेकिन अगर मैं इसे एक स्क्रिप्ट के दौरान सेट करना चाहता हूं तो क्या होगा? क्या यह ओएस, sys आयात करता है? मैं यह कैसे करुं?
मुझे पता है कि इसे अपने/etc/प्रोफ़ाइल में और मेरे पर्यावरण चर में कैसे सेट करें।पायथन लिपि में, मैं पायथनपैट कैसे सेट करूं?
लेकिन अगर मैं इसे एक स्क्रिप्ट के दौरान सेट करना चाहता हूं तो क्या होगा? क्या यह ओएस, sys आयात करता है? मैं यह कैसे करुं?
आप PYTHONPATH
सेट नहीं करते हैं, तो आप sys.path
पर प्रविष्टियां जोड़ते हैं। यह निर्देशिकाओं की एक सूची है जिसे पाइथन पैकेज के लिए खोजा जाना चाहिए, ताकि आप अपनी निर्देशिका को उस सूची में जोड़ सकें।
sys.path.append('/path/to/whatever')
वास्तव में, sys.path
पथ विभाजक वर्ण (:
लिनक्स-जैसा सिस्टम पर, ;
Windows पर) पर 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
मैं माफी चाहता हूँ अगर मैं किसी प्रश्न को फिर से खोलने नाराज।
अच्छा। बहुत पाइथनिक। – PartialOrder
आप PYTHONPATH
को os.environ['PATHPYTHON']=/some/path
पर सेट कर सकते हैं, तो आपको नए जोड़े गए पथ को प्रभावी बनाने के लिए पाइथन खोल को पुनरारंभ करने के लिए os.system('python')
पर कॉल करने की आवश्यकता है।
इस उत्तर को पोस्ट करने के बाद से कई सालों रहे हैं, लेकिन मैं अभी भी यह जोड़ना चाहता हूं कि यदि आप यह सुनिश्चित करना चाहते हैं कि पाइथन आयात करते समय अन्य सभी के सामने नई निर्देशिका की जांच करता है, तो आपको पहले नई निर्देशिका डालना चाहिए सूची, जैसा कि 'sys.path.insert (0, '/ path/to/whatever') में है। – wecsam