यह इस बात पर निर्भर करता है कि मुद्दा क्या है। यदि यह क्लोन और पर्यावरण को संशोधित करने के लिए एक समाधान हो सकता है:
subprocess.Popen(my_command, env=dict(os.environ, PATH="path"))
लेकिन यह कुछ हद तक इस बात पर निर्भर करता है कि बदले हुए चर मान्य पायथन पहचानकर्ता हैं, जो कि वे अक्सर होते हैं (आप कितनी बार पर्यावरण चर नामों में चलते हैं जो अल्फ़ान्यूमेरिक + अंडरस्कोर या चर नहीं हैं जो एक संख्या से शुरू होते हैं?)।
अन्यथा आप कुछ इस तरह लिख सकते हैं:
subprocess.Popen(my_command, env=dict(os.environ,
**{"Not valid python name":"value"}))
बहुत ही विषम स्थिति में (आप पर्यावरण चर नामों में नियंत्रण कोड या गैर-एएससीआई वर्ण का उपयोग कितनी बार करते हैं?) कि पर्यावरण की कुंजी bytes
आप (python3 पर) भी उस निर्माण का उपयोग नहीं कर सकते हैं।
जैसा कि आप देख सकते हैं कि तकनीक (विशेष रूप से पहली) का उपयोग यहां पर्यावरण की कुंजी पर लाभ देता है सामान्य रूप से मान्य अजगर पहचानकर्ता है, और अग्रिम में (कोडिंग समय पर) भी जाना जाता है, दूसरे दृष्टिकोण में समस्याएं हैं। ऐसे मामलों में जहां ऐसा नहीं है, आपको संभवतः दूसरे दृष्टिकोण की तलाश करनी चाहिए ।
os.pathsep
प्लेटफार्मों पर काम करने वाले रास्तों के लिए ":" के बजाय उपयोग करना पसंद करते हैं । देखें stackoverflow.com/questions/1499019/…