gpt4 book ai didi

python - py2exe exe 启动后立即关闭

转载 作者:行者123 更新时间:2023-11-28 19:18:19 26 4
gpt4 key购买 nike

我有一个 python (2.7) 代码,它有一个 gui (Tkinter) 和另一个模块。我试着把它变成一个 .exe 文件,但结果很奇怪。以下是两种情况:

  1. 没有名为 py2exe 的模块:我使用 Canopy 64 位来制作 python 脚本。由于它是64位的,我下载了python 2.7的64位版本的py2exe并安装了。在安装过程中,py2exe 安装程序会自动查看我的 canopy 路径,并在安装后检查我是否有 py2exe 模块。我检查并看到 py2exe 文件夹和模块在 Canopy/Libs 中。所以看起来它安装正确但是当我转到 cmd,更改目录,然后 python myscript.py py2exe 时,它说 no module named py2exe。如果我启动 64 位 IDLE 并import py2exe,它会导入。

  2. 所以我尝试安装 32 位版本的 py2exe。在安装过程中,它看到 C:/Python27,所以我将它安装在那里,如果我调用 py2exe,则 64 位 IDLE 无法导入,但 32 位可以。使用 32 位版本的 py2exe,当我执行 python myscript.py py2exe 时,它将我的脚本编译为 .exe 文件。但是,当我双击 .exe 文件时,cmd 窗口会打开并在启动后立即关闭。

我在这里检查了其他类似的主题,但没有一个帮助我解决这个问题,因为奇怪的是 64 位安装没有提供名为 py2exe 的模块。任何帮助将不胜感激,提前致谢。

注意:我的系统变量路径中有 C:/Python27,用户变量路径中有 Canopy 的路径。

案例 1 更新: 当我启动 canopy 命令提示符并从那里 cd,然后按照典型步骤操作时,py2exe 开始运行但卡在:MSVCP90.dll:否这样的文件或目录并退出

更新:原来是关于我的进口。仅当我导入 matplotlib 时才会出现问题。导入 Tkinter、xlrd 和 numpy 后,它可以正常工作,但是当我导入 matplotlib 时,它会给我关于 msvcp90.dll 的错误。如果我从我的 gui 中删除所有 matplotlib 导入,它会编译,但是当我尝试启动 .exe 时,它​​会启动一个 cmd 窗口,该窗口会立即关闭。

最佳答案

据我所知,py2exe 留下了一些 DLL。它们应该手动复制到您的 dist 目录中。我建议您通过 Dependency Walker 运行您的编译,以找出缺少哪些 Dll。

http://www.dependencywalker.com/

5.2. Python 2.6, 2.7, 3.0, 3.1

For Python 2.6, the DLL you need is called MSVCR90.dll. Py2exe is not able to automatically include this DLL in your dist directory, so you must provide it yourself.

To complicate things, there is more than one version of this DLL in existance, each with the same filename. You need the same version that the Python interpreter was compiled with, which is version 9.0.21022.8. Through the remainder of these instructions, hover your mouse over the dll file (or the vcredist_x86.exe installer executable) to confirm which version you've got. You'll need the vcredist_x86.exe that contains the Microsoft Visual C++ 2008 Redistributable Package published 29-11-2007, so not the VS2008 SP1 one (tested with Python 2.7.1).

http://www.py2exe.org/index.cgi/Tutorial

关于python - py2exe exe 启动后立即关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30699403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com