【发布时间】:2015-08-22 08:16:03
【问题描述】:
我有一个 python (2.7) 代码,它有一个 gui (Tkinter) 和另一个模块。我试图将其设为 .exe 文件,但结果很奇怪。以下是两种情况:
没有名为 py2exe 的模块:我使用 Canopy 64 位来制作 python 脚本。由于是 64 位的,所以我下载了 python 2.7 的 64 位版本的 py2exe 并安装。在安装过程中,py2exe 安装程序会自动查看我的树冠路径,并在安装后检查我是否有 py2exe 模块。我检查并看到 py2exe 文件夹和模块位于 Canopy/Libs 中。所以看起来它已正确安装,但是当我转到 cmd 时,更改目录,然后
python myscript.py py2exe,它显示no module named py2exe。如果我启动 64 位 IDLE 和import py2exe,它会导入。所以我尝试安装 32 位版本的 py2exe。在安装过程中它看到 C:/Python27 所以我在那里安装它,如果我调用 py2exe,64 位 IDLE 无法导入,但 32 位可以。当我执行
python myscript.py py2exe时,使用 32 位版本的 py2exe,它将我的脚本编译为 .exe 文件。但是,当我双击 .exe 文件时,一个 cmd 窗口会在启动后立即打开和关闭。
我在这里检查了其他类似的主题,但没有一个对我有帮助,因为奇怪的是 64 位安装没有提供名为 py2exe 的模块。任何帮助将不胜感激,在此先感谢。
注意:我的系统变量路径中有 C:/Python27,我的用户变量路径中有 Canopy 的路径。
对案例 1 的更新:当我从那里启动 canopy 命令提示符和 cd,然后按照典型步骤操作时,py2exe 开始运行但卡在:MSVCP90.dll: No such file or directory 并退出
更新:原来是关于我的进口。仅当我导入 matplotlib 时才会出现问题。导入 Tkinter、xlrd 和 numpy 后,它可以正常工作,但是当我导入 matplotlib 时,它给了我关于 msvcp90.dll 的错误。如果我从我的 gui 中删除所有 matplotlib 导入,它会编译,但是当我尝试启动 .exe 时,它会启动一个 cmd 窗口,然后立即关闭。
【问题讨论】:
-
可能与No module named py2exe有关。看到了,告诉我们你的 py2exe 包是什么版本的?
-
午饭后我也会这样做。
-
首先尝试通过cmd控制台运行.exe文件,而不是双击。这样 cmd 窗口就不会消失,您将能够看到它抛出了什么错误,然后发布。届时我们将能够为您提供更好的帮助。
标签: python python-2.7 tkinter py2exe canopy