'模块似乎缺失' - py2exe

时间:2014-07-02 06:43:02

标签: python py2exe

我正在使用py2exe-0.6.9.win32-py2.7.exe并将.py文件转换为.exe文件。问题是,当我尝试打开.exe文件时,它不会打开像“无法导入帧”这样的内容。 'Frame'是另一个.py文件,我写了一些代码。

另外,当我打开另一个.exe(从.py转换)文件时,它不会导入我制作的某个.py文件,然后打开没有任何问题。

这是我的setup.py文件。

from distutils.core import setup
import py2exe
from glob import glob
import sys
import os
sys.path.append("C:\\Users\\USER\\Desktop\\Microsoft.VC90.CRT")
print os.path.isdir("C:\\Users\\USER\\Desktop\\Microsoft.VC90.CRT")
data_files = [("Microsoft.VC90.CRT",glob(r'C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\*.*'))]

setup(data_files="",console=["C:\\3d-Model\\bin\\Application.py"])

修改: 我明白了这个问题。仅存在于C:\ Python27 \ Lib \ site-packages \中的模块由.exe文件导入。 现在的问题是,在运行py2exe之前,我是否必须将.exe文件试图导入的每个模块复制到C:\ Python27 \ Lib \ site-packages \,还是有其他更简单的方法吗?

提前致谢。

3 个答案:

答案 0 :(得分:1)

我做的是更新'setup.py'文件以包含缺少模块的路径,使用

import sys
sys.path.insert(0, <path_to_missing_modules>)

这样我就不需要对...\site_packages\文件夹进行校对。

答案 1 :(得分:0)

您需要将'__init__.py'放置在您在项目中使用的每个模块中。因为init.py告诉你的py2exe转换器这里有一个python模块。

因为我几天前就遇到了同样的问题。使用zope.interface and mp_tools我将空__init__.py放在我身上

答案 2 :(得分:0)

这是最终为我工作的。 在运行py2exe之前,手动将包含.py(要转换为.exe)文件的文件的文件夹复制到Python27 \ Lib \ site-packages \修复此类问题。