我写了一个与数据库交互的小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显示此消息
以下模块似乎缺失 ['ElementC14N','pyodbc']
但是生成了exe。现在,每当我运行这个exe时,我都会收到此消息
追踪(最近一次通话): 文件“Test.py”,第4行,in ImportError:没有名为pyodbc的模块
如果我执行脚本,我运行的脚本运行正常。它只是当我创建exe时,exe不起作用并给我这个消息。
任何帮助将不胜感激。
注意: 我在脚本文件中有以下导入
生成py2exe时出现的另一个错误[“ElementC14N”]是exe,我相信是由于我正在读取设置的xml文件。解决这个问题的任何帮助都是值得称道的。
由于
答案 0 :(得分:2)
谢谢大家....
这就是我所做的,它开始为我工作
options = {"py2exe":{"packages":"encodings",
"includes":["pyodbc",
"datetime", "decimal"],
"bundle_files":2,
"optimize":2},},