'模块似乎丢失'-py2ex

2024-06-01 06:14:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用py2 exe-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"])

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

提前谢谢。


Tags: 文件pathfrompyimportossyssetup
3条回答

这是我最后的工作。 在运行py2exe之前,手动将包含.py(要转换为.exe)文件导入的文件的文件夹复制到Python27\Lib\site packages\fixes可以修复这些问题。

我所做的是使用

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

这样我就不需要创建...\site_packages\文件夹。

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

因为几天前我也遇到过同样的问题。用zope.interface and mp_tools我放了空的__init__.py对我很好

相关问题 更多 >