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



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

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

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

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

py2exe生成时出现的另一个错误["ElementC14N"]是exe,我认为这是由于我从中读取设置的xml文件造成的。解决这一问题的任何帮助都是值得赞扬的。

感谢

谢谢大家。。。。

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

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

相关内容

  • 没有找到相关文章

最新更新