python - 编译的 exe 中出现导入错误,但脚本中没有

标签 python python-2.7 pyodbc

我编写了一个与数据库交互的小 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 不起作用并给我这条消息。

如有任何帮助,我们将不胜感激。

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

  1. 导入 xml.etree.ElementTree 作为 ET
  2. 导入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/

相关文章:

python - 将 spark 数据框列传递给 geohash 函数 - pyspark。无法将列转换为 bool :

python - 从 python 控制台应用程序到 django 作为 UI 最佳实践

python - Google App Engine - 一个项目中的多个 yaml 文件共享一个库

python,打开的文件会被关闭吗?

python - 大容量插入错误代码 3 : The system cannot find the path specified

python - “WSGIRequest”对象在 Google App Engine 中没有属性 'user'

python - Ironpython调用numpy问题

python - 列出由 apscheduler 安排的 cron 作业

python - 在没有 fetchall() 的情况下迭代 PyoDBC 结果

python - 仅显示 PyODBC 的可用结果