2012-09-04 11 views
30

मैं एक फ़ाइल example_file.py, मैं इस example_file.py विभिन्न फाइलों से उपयोग करना चाहते हैं के लिए किया था, तो मैं sys.path को example_file.py जोड़ सकते हैं और की कार्यक्षमता का उपयोग के लिए एक और फ़ाइल में इस फ़ाइल आयात करने का निर्णय लिया फ़ाइल। मैं ipython खोला था और निम्नलिखितअजगर में sys.path करने के लिए एक फ़ाइल पथ जोड़ने

import sys 
sys.path 
sys.path.append('/path/to/the/example_file.py') 

किया और जब मैं की तरह

import example_file 

अपनी कार्यशील ठीक एक और निर्देशिका पथ से इस फ़ाइल को आयात करने की कोशिश की, लेकिन उसके बाद मैं IPython से बाहर आया मैं फिर से प्रवेश किया इसमें और sys.path की जांच की गई, यहां जिस पथ को मैंने जोड़ा है वह मौजूद नहीं है, इसलिए क्या कोई मुझे कृपया मुझे बता सकता है कि पाइथन

+2

अपना कोड एक उचित पैकेज बनाएं, इसे आसान बनाएं और इंस्टॉल करें और अपने जीवन के बाकी हिस्सों (टिंकरिंग के बजाए) खुश रहें। इसके अलावा: प्रत्येक दस्तावेज़ीकरण आपको स्पष्ट रूप से बताता है कि 'sys.path.append()' फ़ाइल वाली एक निर्देशिका स्वीकार करता है और फ़ाइल में सिंगल पाथ नहीं करता है। –

+0

संभावित डुप्लिकेट [पाइथन के पथ में स्थायी रूप से फ़ोल्डर जोड़ना] (http://stackoverflow.com/questions/3722248/adding-folder-to-pythons-path- स्थायी रूप से) – DhruvPathak

+0

ki ने एक निर्देशिका जोड़ा है जिसमें मेरी फ़ाइल है लेकिन कैसे sys.path –

उत्तर

32

में स्थायी रूप से sys.path के पथ को कैसे जोड़ना है, कुछ तरीके हैं। सबसे आसान में से एक my-paths.pth फ़ाइल बनाना है (जैसा कि here वर्णित है)। यह एक्सटेंशन .pth के साथ सिर्फ एक फ़ाइल है जिसे आपने अपने सिस्टम site-packages निर्देशिका में डाल दिया है। फ़ाइल की प्रत्येक पंक्ति पर आप एक निर्देशिका नाम डालते हैं, ताकि आप वहां /path/to/the/ के साथ एक पंक्ति डाल सकें और यह उस निर्देशिका को पथ में जोड़ देगा।

आप PYTHONPATH पर्यावरण चर का भी उपयोग कर सकते हैं, जो सिस्टम PATH चर की तरह है लेकिन इसमें निर्देशिकाएं हैं जिन्हें sys.path में जोड़ा जाएगा। the documentation देखें।

ध्यान दें कि आप क्या करते हैं, sys.path में निर्देशिका फ़ाइलें नहीं हैं। आप "sys.path पर फ़ाइल जोड़ नहीं सकते"। आप हमेशा अपनी निर्देशिका जोड़ते हैं और फिर आप फ़ाइल आयात कर सकते हैं।

+0

ठीक है धन्यवाद कि ठीक है मैंने अपनी निर्देशिका को जोड़ा है जिसमें फाइल और उसके काम को शामिल किया गया है जब मैंने किसी अन्य स्थान से फ़ाइल आयात की, समस्या को हल करें मैं ipython से बाहर आया और फिर मेरे पथ की जांच करने के लिए looed, यह प्रकट नहीं होता है, मैं कोड में प्रवेश करते समय हर बार ऐसा नहीं करना चाहता, मैं sys.path को निर्देशिका पथ को स्थायी रूप से जोड़ना चाहता हूं, कैसे यह –

+0

@ Kouripm करें: आपकी टिप्पणी से पता चलता है कि आपने वास्तव में मेरे सुझाव का पालन नहीं किया है, न ही उपरोक्त लिंक की गई डुप्लिकेट पोस्ट में सुझाव। – BrenBarn

+0

'साइट' पैकेज सही था। –

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