我正在使用Python 3.2(用于构建和执行),这是我的问题.
我打算使用以下设置发送我的python应用程序:
有一个主脚本(比方说Main.py),就是使用编译过的模块Module1.pyc.确切地说,目录结构是:
.\Main.py
.\__pycache__\Module1.cpython-32.pyc
Run Code Online (Sandbox Code Playgroud)
当我使用python解释器运行主脚本时,它找不到具有以下错误的模块:
Traceback (most recent call last):
File "Main.py", line 10, in <module>
import Module1
ImportError: No module named Module1
Run Code Online (Sandbox Code Playgroud)
请注意,我已将当前目录添加到PYTHONPATH环境变量中,并且是其中的一部分sys.path.此外,__pycache__还添加了内部目录,并在其中可见sys.path.
不确定为什么找不到Module1.我猜,这可能是因为文件名不同 - Module1.cpython-32.pyc?但是,那就是Python 3.2解释器生成它的方式.
如下所述,通过两个步骤解决了该问题: 步骤 1:将 Module.cpython-32.pyc 文件从 .__pycache__ 目录复制到 .\ 步骤 2:将文件重命名为 Module.pyc
PS:感谢 gecco 分享细节。
| 归档时间: |
|
| 查看次数: |
3445 次 |
| 最近记录: |