2

我写了一个与数据库交互的小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 时,我都会收到这条消息

Traceback(最近一次调用最后):文件“Test.py”,第 4 行,在 ImportError:没有名为 pyodbc 的模块

如果我执行脚本,我的脚本运行良好。只是当我创建 exe 时,exe 不起作用并给我这个消息。

任何帮助,将不胜感激 。

注意:我在脚本文件中有以下导入

  1. 将 xml.etree.ElementTree 导入为 ET
  2. 导入pyodbc

py2exe 生成时出现的另一个错误 ["ElementC14N"] 是 exe,我相信是由于我正在从中读取设置的 xml 文件。解决该问题的任何帮助也值得称赞。

谢谢

4

1 回答 1

2

谢谢你们 ....

这就是我所做的,它开始为我工作

options = {"py2exe":{"packages":"encodings",
                     "includes":["pyodbc",
                                 "datetime", "decimal"],
                     "bundle_files":2,
                     "optimize":2},},
于 2012-11-21T03:11:54.300 回答