gpt4 book ai didi

import - ModuleNotFoundError : Python 3. 6 在 Python 3.5 中找不到模块

转载 作者:行者123 更新时间:2023-12-04 11:34:31 25 4
gpt4 key购买 nike

我想将我的 python 版本从 3.5 升级到 3.6。由于我使用的是 WinPython ,我已经下载并安装了最新版本,就像我之前使用 3.5 版一样。

但是,如果我使用 3.6 版,我会得到 ModuleNotFoundError每当我导入自己创建的模块时。一个最小的例子:我创建了一个文件 t1.py仅包含 pass声明和文件t2.py包含以下代码:

import t1
print("done")

两个文件都在同一个文件夹中 D:\MyProject\src .现在,当我使用 python 3.5 运行文件时,一切正常:
'C:\Program Files\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\python.exe' D:\MyProject\src\t2.py
done

但是,使用 python 3.6 我得到
'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'

我想不出问题可能是什么,并希望获得新的灵感。

最佳答案

这行得通吗?在 t2.py

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

Python-3.6 改变了它的工作方式,python.exe 旁边的“python._pth”文件(而不是以前版本中的“pyvenv.cfg”)

如果您不想修改源代码,则必须在 Python._pth 文件中添加“D:\MyProject\src”行,或者从 python._pth 位置添加到它的相对路径。在我的示例中,它适用于:
python36.zip
DLLs
Lib
.
..\test
import site

" http://bugs.python.org/issue29578?@ok_message=msg%20287921%20created%0Aissue%2029578%20message_count%2C%20messages%20edited%20ok&@template=item "

如果您没有系统安装 python,则其他更简单的解决方案:将“python.exe”旁边的“python._pth”文件重命名为“pythonzz._pth”

Python“Windows”维护者刚刚写道,更简单的解决方案也应该适用于 Python-3.6.0。

关于import - ModuleNotFoundError : Python 3. 6 在 Python 3.5 中找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42263962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com