python पायथन लिपि में, मैं पायथनपैट कैसे सेट करूं?




linux unix (4)

आप os.environ वातावरण के माध्यम से पर्यावरण चर प्राप्त और सेट कर सकते हैं:

import os
user_home = os.environ["HOME"]

os.environ["PYTHONPATH"] = "..."

लेकिन चूंकि आपका दुभाषिया पहले से चल रहा है, इसका कोई प्रभाव नहीं पड़ेगा। आप का उपयोग बंद कर रहे हैं

import sys
sys.path.append("...")

जो सरणी है कि आपके PYTHONPATH को दुभाषिया स्टार्टअप में बदल दिया जाएगा।

मुझे पता है कि इसे अपने / etc / प्रोफाइल में और मेरे पर्यावरण चर में कैसे सेट करें।

लेकिन अगर मैं इसे एक स्क्रिप्ट के दौरान सेट करना चाहता हूं तो क्या होगा? क्या यह ओएस, sys आयात है? मैं यह कैसे करुं?


sys.path में समाप्त होता है, जिसे आप रनटाइम पर संशोधित कर सकते हैं।

import sys
sys.path += ["whatever"]

प्रश्न को फिर से खोलने के लिए खेद है, लेकिन मुझे लगता है कि यह किसी की मदद कर सकता है:

यदि आप sys.path.append('dir/to/path') sys.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

मुझे खेद है अगर मैंने किसी को सवाल फिर से खोलने से नाराज किया।


आप sys.path सेट नहीं करते हैं, आप sys.path प्रविष्टियां sys.path । यह निर्देशिकाओं की एक सूची है जिसे पाइथन पैकेज के लिए खोजा जाना चाहिए, ताकि आप अपनी निर्देशिका को उस सूची में जोड़ सकें।

sys.path.append('/path/to/whatever')

वास्तव में, sys.path को पथ विभाजक चरित्र ( : लिनक्स जैसी प्रणालियों पर, विंडोज़ पर) पर sys.path के मान को विभाजित करके प्रारंभ किया जाता है।

आप site.addsitedir का उपयोग करके निर्देशिका भी जोड़ सकते हैं, और वह विधि आपके द्वारा पारित निर्देशिकाओं में मौजूद .pth फ़ाइलों को भी ध्यान में .pth । (यह आपके द्वारा PYTHONPATH में निर्दिष्ट निर्देशिकाओं के मामले में नहीं होगा।)





environment-variables