【发布时间】:2012-07-25 11:13:48
【问题描述】:
我正在使用 Python 3.2(用于构建和执行),这是我的问题。
我打算使用以下设置发布我的 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,并从您的目录结构中显示。然后你导入Module并谈论一个不同的文件名。所以很难知道是你输入错误的模块名称还是它实际上不正确。 -
抱歉,这只是一个错字。文件名一致。