我将使用Python 3.2(用于构建和执行),以下是我的问题。
我打算使用以下设置来发布我的Python应用程序:
有一个主脚本(例如,Main.py),它正在使用已编译的模块,例如Module1.pyc。准确地说,目录结构如下:
当我使用Python解释器运行主脚本时,出现以下错误无法找到模块:
请注意,我已将当前目录添加到
不确定为什么找不到
我打算使用以下设置来发布我的Python应用程序:
有一个主脚本(例如,Main.py),它正在使用已编译的模块,例如Module1.pyc。准确地说,目录结构如下:
.\Main.py
.\__pycache__\Module1.cpython-32.pyc
当我使用Python解释器运行主脚本时,出现以下错误无法找到模块:
Traceback (most recent call last):
File "Main.py", line 10, in <module>
import Module1
ImportError: No module named Module1
请注意,我已将当前目录添加到
PYTHONPATH
环境变量中,并作为sys.path
的一部分。同时,内部的__pycache__
目录也被添加到了sys.path
中并且可见。不确定为什么找不到
Module1
模块。猜测可能是因为文件名不同 - Module1.cpython-32.pyc
?但是,这就是Python 3.2解释器生成的方式。
Module1
,并从dir结构中显示了这一点。然后你导入了Module
并谈论了另一个文件名。因此很难知道是你打错了模块名还是实际上不正确。 - Christian Witts