我编写了一个与数据库交互的小python脚本。我想创建一个脚本文件的exe,然后将其发送给最终用户,而不是发送脚本文件本身。我正在使用pytoxe创建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时,我都会收到以下消息
Traceback(最后一次调用):文件"Test.py",第4行,位于ImportError:没有名为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},},