ImportError在已编译的exe中,但不在脚本中

2024-04-26 05:58:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了一个与数据库交互的小python脚本。我想创建一个脚本文件的exe文件,然后发送给最终用户,而不是发送脚本文件本身。我正在使用pytoexe创建exe文件。在

这就是我的设置.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文件造成的。任何解决这个问题的帮助都是值得赞扬的。在

谢谢


Tags: 文件pytestimport脚本modules数据库消息
1条回答
网友
1楼 · 发布于 2024-04-26 05:58:34

谢谢大家。。。。在

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

options = {"py2exe":{"packages":"encodings",
                     "includes":["pyodbc",
                                 "datetime", "decimal"],
                     "bundle_files":2,
                     "optimize":2},},

相关问题 更多 >