2011-10-21 26 views
47

मैं एक पायथन परियोजना के लिए काम पर अन्य डेवलपर्स के लिए एक सेटअप दस्तावेज़ लिख रहा हूं और लिख रहा हूं और मैं PYTHONPATH पर्यावरण चर पर पढ़ रहा हूं। मैं अपने वर्तमान विकास प्रणाली को देख रहा हूं और सोचता हूं कि मेरे पास कुछ चीजें गलत हैं जो पाइथन पुस्तकालयों को देखते समय गलत तरीके से व्यवहार करने के लिए मेरे आईडीई (इंटेलिजे) का कारण बनती हैं।PYTHONPATH में वास्तव में क्या सेट किया जाना चाहिए?

मैंने प्रलेखन here और here पर देखा है और मुझे अभी भी यह सुनिश्चित नहीं है कि वास्तव में PYTHONPATH पर्यावरण चर में क्या होना चाहिए।

मेरे पास PYTHONHOME है जो `C: \ Python27 'पर इंगित किया गया है।

मेरा वर्तमान PYTHONPATHPYTHONHOME पर सेट है। क्या मुझे sys.path से निर्देशिका भी जोड़नी चाहिए?

अद्यतन:

नीचे दी गई जानकारी के आधार पर, PYTHONPATH स्थापित किया जाना है जब तक कि गैर मानक पुस्तकालयों है कि आप अजगर डिफ़ॉल्ट रूप से पता लगाने के लिए सक्षम होना चाहते हैं कर रहे हैं की जरूरत नहीं है। उदाहरण के लिए, जब मैं इंस्टॉलर से wxPython इंस्टॉल करता हूं तो यह PYTHONPATH पर अपनी लाइब्रेरी जोड़ देगा। मैं पाइथन इंस्टॉलेशन की रूट पर PYTHONHOME सेट करता हूं ताकि मैं इसे अपने सिस्टम PATH पर्यावरण चर में जोड़ सकूं ताकि मैं किसी भी जगह से पायथन चला सकूं।

उत्तर

29

आपको उनमें से कोई भी सेट करने की आवश्यकता नहीं है। PYTHONPATH उन में निजी पुस्तकालयों के साथ अतिरिक्त निर्देशिकाओं को इंगित करने के लिए सेट किया जा सकता है। यदि PythonHOME सेट नहीं है, तो Python निर्देशिका का उपयोग करने के लिए डिफ़ॉल्ट है जहां python.exe पाया गया था, ताकि डीआईआर पाथ में होना चाहिए।

+3

PYTHONHOME वास्तव में डिफ़ॉल्ट रूप से मानक पुस्तकालय की निर्देशिका (जैसे/usr/स्थानीय/lib/pythonXX) को इंगित करता है। –

+1

@ फ़र्डिनेंड विंडोज़ पर नहीं। यह सेट नहीं है। लेकिन बिंदु यह है कि उपयोगकर्ता को आमतौर पर उनमें से किसी के साथ गड़बड़ नहीं होती है जब तक कि उनके पास लाइब्रेरीज़ की निजी निर्देशिका डिफ़ॉल्ट नहीं होती है। –

+2

बेशक यह सेट नहीं है - पायथन कभी भी पर्यावरण चर सेट नहीं करता है। लेकिन पाइथोनोम के बराबर एक आंतरिक समतुल्य है जिसे पर्यावरण चर का उपयोग करके * ओवरराइड किया जा सकता है। मैं इस आंतरिक चर के डिफ़ॉल्ट मान के बारे में बात कर रहा हूं। –

18

अधिकांश स्थापनाओं के लिए, आपको इन चर सेटों को सेट नहीं करना चाहिए क्योंकि उन्हें पाइथन चलाने के लिए आवश्यक नहीं है। पायथन जानता है कि इसकी मानक पुस्तकालय कहां मिलें।

PYTHONPATH सेट करने का एकमात्र कारण कस्टम पायथन पुस्तकालयों की निर्देशिका को बनाए रखना है जिसे आप वैश्विक डिफ़ॉल्ट स्थान (यानी site-packages निर्देशिका) में स्थापित नहीं करना चाहते हैं।

को पढ़ने के लिए सुनिश्चित करें: http://docs.python.org/using/cmdline.html#environment-variables

+0

ठीक है तो आपको नहीं करना चाहिए। लेकिन आपको क्या करना चाहिए ?! आप पथ में मॉड्यूल को चलाने के लिए चाहते हैं, और स्रोत कोड धारण पथ नहीं चाहते हैं (रिश्तेदार और निश्चित रूप से स्थैतिक पथ नहीं)। – pashute

संबंधित मुद्दे