PYTHONPATH एक पर्यावरण चर है जिसका मूल्य निर्देशिकाओं की एक सूची है। एक बार सेट करने के बाद, इसका उपयोग पायथन द्वारा अन्य मॉड्यूल के साथ, आयातित मॉड्यूल की खोज के लिए किया जाता है। और पायथॉन के "sys.path" में सूचीबद्ध 3-पार्टी लाइब्रेरी निर्देशिका।
किसी भी अन्य पर्यावरण चर के रूप में, आप इसे शेल में या ~ / .bashrc में निर्यात कर सकते हैं, यहां देखें । आप पायथन में इसके मूल्य के लिए os.environ ['PYTHONPATH'] को क्वेरी कर सकते हैं जैसा कि नीचे दिखाया गया है:
$ python3 -c "import os, sys; print(os.environ['PYTHONPATH']); print(sys.path) if 'PYTHONPATH' in sorted(os.environ) else print('PYTHONPATH is not defined')"
यदि शेल में परिभाषित किया गया है
$ export PYTHONPATH=$HOME/Documents/DjangoTutorial/mysite
परिणाम =>
/home/Documents/DjangoTutorial/mysite
['', '/home/Documents/DjangoTutorial/mysite', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
ELSE परिणाम =>
PYTHONPATH is not defined
PYTHONPATH को कई रास्तों पर सेट करने के लिए, यहाँ देखें ।
ध्यान दें कि कोई रन-टाइम पर sys.path.insert (), डेल या रिमूव () के माध्यम से खोज पथ को जोड़ या हटा सकता है, लेकिन os.environ [] के माध्यम से नहीं। उदाहरण:
>>> os.environ['PYTHONPATH']="$HOME/Documents/DjangoTutorial/mysite"
>>> 'PYTHONPATH' in sorted(os.environ)
True
>>> sys.path // but Not there
['', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
>>> sys.path.insert(0,os.environ['PYTHONPATH'])
>>> sys.path // It's there
['$HOME/Documents/DjangoTutorial/mysite', '', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
>>>
सारांश में, PYTHONPATH sys.path में आयातित मॉड्यूल के लिए पायथन खोज पथ (s) को निर्दिष्ट करने का एक तरीका है। आप PYTHONPATH की सहायता के बिना भी सीधे sys.path पर सूची संचालन लागू कर सकते हैं।
PYTHONPATH
। उसके लिए उपयोग करेंsys.path
।