क्या वर्तमान प्रक्रिया के पर्यावरण चर बदलना संभव है?वर्तमान प्रक्रिया पर्यावरण बदलें LD_LIBRARY_PATH
अधिक विशेष रूप से एक अजगर स्क्रिप्ट में मैं एक मॉड्यूल 'एक्स' जो कुछ xyz.so
पर निर्भर करता है के आयात पर इतना है कि LD_LIBRARY_PATH
बदलना चाहते हैं, xyz.so
LD_LIBRARY_PATH में मेरी दिए गए पथ से लिया जाता है
वहाँ करने के लिए किसी अन्य तरीके से है लाइब्रेरी लोड होने से पथ को गतिशील रूप से बदलें?
संपादित: मुझे लगता है मुझे लगता है कि मैं पहले से ही os.environ की तरह बात की कोशिश की है उल्लेख करने की जरूरत है [ "LD_LIBRARY_PATH"] os.putenv ('LD_LIBRARY_PATH', mypath)
= mypath लेकिन इन संशोधित env। पैदा की उप-प्रक्रिया, नहीं वर्तमान प्रक्रिया, और मॉड्यूल लोड करने के लिए नई LD_LIBRARY_PATH
EDIT2 पर विचार नहीं करता है, तो सवाल तो पुस्तकालय लोडर यह और लोड वहाँ से देखता है हम पर्यावरण या कुछ बदल सकता है?
http://stackoverflow.com/questions/856116/changing-ldlibrarypath-at-runtime के इस एक नकली नहीं है -किसी-ctypes? आप वास्तव में पर्यावरण को बदलने के तरीके से नहीं पूछ रहे हैं, बल्कि पाइथन को पुस्तकालयों को लोड करने के तरीके को बदलने के बजाय। –
ठीक है! मैं कहूंगा कि यह डुप्लिकेट है, लेकिन यह पर्यावरण को बदलने के बारे में नहीं है, उदाहरण के लिए। एसी ऐप में जो एक गतिशील lib ए लोड करता है, क्या हम वातावरण बदल सकते हैं ताकि ए को हमारे पसंद के रास्ते से लोड किया जा सके –