我编写了一个与数据库交互的小 python 脚本。我想创建脚本文件的 exe,然后将其发送给最终用户,而不是发送脚本文件本身。我正在使用 pytoexe 创建 exe 文件。
这就是我的 setup.py 文件现在的样子
from distutils.core import setup
import py2exe
setup(
console=["Test.py"],
zipfile = None,
data_files=[("",
["config.xml"]),
],
name='Test',
version='1.0.0',
url='',
license='',
author='test user',
author_email='',
description='',
#package_dir = {'': 'Lib'},
py_modules =['pyodbc']
#packages = ['pyodbc']
)
我使用以下命令行运行脚本
python setup.py py2exe --bundle 2
创建 exe 时,py2exe 显示此消息
The following modules appear to be missing ['ElementC14N', 'pyodbc']
但是生成了exe。现在,每当我运行这个 exe 时,我都会收到此消息
Traceback (most recent call last): File "Test.py", line 4, in ImportError: No module named pyodbc
如果我执行脚本,我的脚本运行良好。只是当我创建 exe 时,该 exe 不起作用并给我这条消息。
如有任何帮助,我们将不胜感激。
注意: 我在脚本文件中有以下导入
- 导入 xml.etree.ElementTree 作为 ET
- 导入pyodbc
生成 py2exe 时出现的另一个错误 [“ElementC14N”] 是 exe,我相信是由于我正在从中读取设置的 xml 文件造成的。解决该问题的任何帮助也值得赞扬。
谢谢
最佳答案
谢谢大家...
这就是我所做的,它开始为我工作
options = {"py2exe":{"packages":"encodings",
"includes":["pyodbc",
"datetime", "decimal"],
"bundle_files":2,
"optimize":2},},
关于python - 编译的 exe 中出现导入错误,但脚本中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13484963/