सेट और विंडोज 'कमांड लाइन पर एक वातावरण चर को बहाल एक दुर्भाग्य से "कुछ हद तक दर्दनाक" दृष्टिकोण की आवश्यकता है के लिए ...:
SET SAVE=%PYTHONPATH%
SET PYTHONPATH=.
python scripts/doit.py
SET PYTHONPATH=%SAVE%
आप कर सकते थे इसे कम दर्दनाक बनाने के लिए थोड़ा सहायक पाइथन लिपि का उपयोग करें, उदाहरण के लिए
import os
import sys
import subprocess
for i, a in enumerate(sys.argv[1:]):
if '=' not in a: break
name, _, value = a.partition('=')
os.environ[name] = value
sys.exit(subprocess.call(sys.argv[i:]))
, के रूप में कहा जा जैसे,
python withenv.py PYTHONPATH=. python scripts/doit.py
(मैं इसे कोडित तो यह लिए काम करता है किसी भी उपप्रक्रिया ही नहीं, Python स्क्रिप्ट है - अगर आप केवल पाइथन स्क्रिप्ट के बारे में परवाह आप कैल में दूसरा पायथन छोड़ सकते हैं और कोड में sys.argv[i-1]
में 'पायथन' डाल सकते हैं, फिर sys.argv[i-1:]
का उपयोग subprocess.call के लिए तर्क के रूप में करें)।
स्रोत
2010-05-25 01:36:29
एचएम। मुझे जो चाहिए उससे थोड़ा अधिक, लेकिन धन्यवाद! मैं कल यह कोशिश करूंगा। – Santa