क्या "imp" के साथ एक पूर्ण/सापेक्ष पथ का उपयोग कर एक ही निर्देशिका में निर्भरताओं के साथ मॉड्यूल आयात करने का कोई तरीका है?आईपी के साथ समान पूर्ण/सापेक्ष पथ में निर्भरताओं के साथ मॉड्यूल कैसे आयात करें?
.
├── importFrom
│ ├── dependant.py
│ └── dependence.py
└── test.py
फ़ाइल test.py आयात का उपयोग कर dependant.py:
यहाँ निर्देशिका संरचना इस प्रकार है
modname=imp.load_source("testImp","importFrom/dependant.py")
जो बारी में आयात के साथ direcly dependence.py:
import dependence
कॉलिंग test.py
Traceback (most recent call last):
File "test.py", line 3, in <module>
modname=imp.load_source("testImp","importFrom/dependant.py")
File "importFrom/dependant.py", line 1, in <module>
import dependence
ImportError: No module named dependence
लोड_सोर्स लोडर मॉड्यूल को लोडर में पथ जोड़ने के लिए उपयुक्त हो सकता है ताकि यह स्वचालित रूप से इसकी सापेक्ष निर्भरता पा सके। अभी के लिए एकमात्र विकल्प मैंने पाया सिस्टम पथ को जोड़ने है, test.py
संपादित में डाल: मैं पथ के साथ रिश्तेदार आयात करने के लिए एक बेहतर तरीका मिल गया है, प्राप्त करने के लिए फ़ाइल जोड़ा (वर्तमान कार्यशील निर्देशिका से स्वतंत्रता) फोन करने वाले का निरपेक्ष पथ
sys.path.append(os.path.join(os.path.dirname(__file__), 'importFrom'))
import dependant
का उपयोग कर tup = imp.find_module ("निर्भर", ["/ opt/importFrom /", "अन्य"]) imp.load_module ("आश्रित", tup [0], tup [1], tup [2]) वही त्रुटि देता है "कोई मॉड्यूल निर्भरता नाम नहीं है"। – a1an
मुझे यह भी लगता है कि यह Python 2.7 के रूप में load_source के साथ व्यवहार्य नहीं है, इसलिए सही उत्तर "व्यवहार्य नहीं है", वर्कअराउंड दृष्टिकोण का उपयोग करना है – a1an