2017-02-16 6 views
6

मैं अपने पायथन संस्करण को 3.5 से 3.6 तक अपग्रेड करना चाहता था। चूंकि मैं WinPython का उपयोग कर रहा हूं, मैंने हाल ही के संस्करण को डाउनलोड और स्थापित किया है जैसा मैंने संस्करण 3.5 के साथ पहले किया था।मॉड्यूल नॉटफाउंड एरर: पायथन 3.6 मॉड्यूल नहीं ढूंढता है जबकि पायथन 3.5

हालांकि, यदि मैं संस्करण 3.6 का उपयोग करता हूं तो मुझे ModuleNotFoundError मिलता है जब भी मैं स्वयं निर्मित मॉड्यूल आयात करता हूं। एक न्यूनतम उदाहरण:

import t1 
print("done") 

दोनों फ़ाइलें एक ही फ़ोल्डर D:\MyProject\src में हैं: मैं एक फ़ाइल t1.py कि केवल एक pass बयान और एक फ़ाइल t2.py निम्नलिखित कोड शामिल होता है बनाया। अब जब मैं अजगर 3.5 के साथ फ़ाइल को चलाने, सब कुछ ठीक काम करता है: अजगर 3.6 के साथ

'C:\Program Files\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\python.exe' D:\MyProject\src\t2.py 
done 

हालांकि, मैं प्राप्त

'C:\Program Files\WinPython-64bit-3.6.0.1Qt5\python-3.6.0.amd64\python.exe' D:\MyProject\src\t2.py 
Traceback (most recent call last): 
    File "D:\MyProject\src\t2.py", line 6, in <module> 
    import t1 
ModuleNotFoundError: No module named 't1' 

मैं विचारों से बाहर भाग क्या समस्या हो सकती है और नए प्रेरणा की सराहना करेंगे ।

उत्तर

8

क्या यह काम करेगा? t2.py में

import os 
__path__=[os.path.dirname(os.path.abspath(__file__))] 
from . import t1 
print("t2 done") 

अजगर-3.6 काम करने का अपना रास्ता बदल जाता है, "python._pth" फाइल अगले python.exe को

हैं ("pyvenv.cfg" पिछले संस्करणों में के बजाय) के साथ आप अपने स्रोत को संशोधित नहीं करना चाहते हैं, तो आपको Python._pth फ़ाइल में "डी: \ MyProject \ src" पंक्ति, या python._pth स्थान से इसके सापेक्ष पथ को जोड़ना होगा।

python36.zip 
DLLs 
Lib 
. 
..\test 
import site 

"http://bugs.python.org/[email protected]_message=msg%20287921%20created%0Aissue%2029578%20message_count%2C%20messages%20edited%20ok&@template=item"

अन्य, सरल समाधान यदि आप कोई व्यवस्था से स्थापित अजगर है:: नाम बदलने "python._pth" फ़ाइल, के आगे "python.exe मेरे उदाहरण में, यह साथ काम करता है ", जैसा कि" pythonzz._pth "

पायथन" विंडोज "रखरखाव ने अभी लिखा है कि पाइथन-3.6.0 के साथ सरल समाधान भी ठीक होना चाहिए।

+0

इस, परीक्षण है कि मेरे पीसी पर काम किया है बेकार – stonebig

+0

के माध्यम से शुरू की तुम सही हो कि यह कमांड लाइन – stonebig

+0

के माध्यम से काम doens't t2.py http://bugs.python.org/[email protected]_message= साथ समस्या% 2029578% 20 शीर्षक% 20%% 20ok और @ template = item – stonebig

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