我正在使用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 \,还是有其他更简单的方法吗?
提前致谢。
答案 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 \修复此类问题。