Python不检测.pyc文件

时间:2012-07-25 11:13:49

标签: python import pyc

我正在使用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解释器生成它的方式。

2 个答案:

答案 0 :(得分:9)

看看PEP-3147。它们描述了python-lookup机制的工作原理。

enter image description here

所以在你的具体案例中:将文件Module1.pyc直接放在根文件夹中。

答案 1 :(得分:2)

如下所述,有两个步骤解决了这个问题: 步骤1:将..capache__目录中的Module.cpython-32.pyc文件复制到。 第2步:将文件重命名为Module.pyc

PS:感谢gecco分享细节。