मैं एक ऐसे सिस्टम पर खोजने योग्य मॉड्यूल बनाने की कोशिश कर रहा हूं जहां मेरे पास वैश्विक site-packages
निर्देशिका में लेखन पहुंच नहीं है, और पर्यावरण को बदलने के बिना (PYTHONPATH
)। मैंने एक निर्देशिका में .pth
फ़ाइल को उसी स्क्रिप्ट के रूप में रखने की कोशिश की है जिसे मैं निष्पादित कर रहा हूं, लेकिन ऐसा अनदेखा प्रतीत होता है।.pth फ़ाइलों का उपयोग
N:\PythonExtras\lib\site-packages
लेकिन निम्न स्क्रिप्ट, रखा जाता है और एक ही निर्देशिका में चलाने के लिए, प्रिंट False
: जैसे, मैं निम्नलिखित सामग्री के साथ एक फ़ाइल extras.pth
बनाया।
import sys
print r"N:\PythonExtras\lib\site-packages" in sys.paths
sys.path
में केवल निर्देशिका के लिए जो मैं लेखन पहुँच गई स्क्रिप्ट से युक्त निर्देशिका है। क्या कोई अन्य (वर्तमान में मौजूद नहीं है) निर्देशिका है जहां मैं extras.pth
रख सकता हूं और इसे देखा जा सकता है? क्या इसके बारे में जाने का कोई बेहतर तरीका है?
मैं विंडोज पर पायथन 2.7 का उपयोग कर रहा हूं। सभी .pth
प्रश्न जो मैं यहां सिस्टम मॉड्यूल निर्देशिकाओं का उपयोग कर सकता हूं।
संपादित करें: मैंने विंडोज़ प्रति उपयोगकर्ता स्थापना निर्देशिका को %APPDATA%\Python\Python27\site-packages
पर ट्रैक किया है। मैं वहां एक मॉड्यूल रख सकता हूं और इसे आयात किया जाएगा, लेकिन अगर मैंने वहां .pth
फ़ाइल डाली है, तो इसका कोई प्रभाव नहीं पड़ता है। क्या यह वास्तव में काम नहीं करना चाहिए, या क्या मैं कुछ गलत कर रहा हूं?
समस्या यह है कि यह कक्षा को पढ़ाने के लिए है, और मैं इसे यथासंभव पारदर्शी रूप से काम करने की कोशिश कर रहा हूं। लोग हमेशा एक नया अजगर शुरू कर रहे हैं और परेशानी में चल रहे हैं। क्या 'दस्तावेज़ और सेटिंग्स' के अंतर्गत कुछ फ़ोल्डर्स नहीं हैं जो "साइट निर्देशिका" के रूप में गिना जाता है? आईआईआरसी विभिन्न इंस्टॉलर वहां सामान डाल देंगे - लेकिन यह सुनिश्चित नहीं है कि, या यदि उनकी '.pth' फ़ाइलों के लिए जांच की गई है। – alexis
हां, वहां है, और यह अन्य सभी चीज़ों के साथ http://docs.python.org/2/library/site.html#site.USER_SITE पर दस्तावेज़ित है। मैंने सोचा था कि आपने कहा था कि आपके पास केवल स्क्रिप्ट निर्देशिका में पहुंच है, लेकिन अब मैं देखता हूं कि मैं गलत पढ़ता हूं। – BrenBarn
हाँ धन्यवाद, मैं उस साइट को समझ रहा हूं।एचटीएमएल' देखने के लिए जगह है। हालांकि, '.pth' डालने पर काम नहीं लग रहा है ... – alexis