python - pyinstaller可执行文件崩溃了吗?

标签 python pyinstaller

我正在尝试使用pyinstaller为我的python程序制作可执行文件。

我已经尝试了以下命令pyinstaller --debug --onefile run.pypyinstaller --onefile -w run.py

当使用debug选项运行时,程序将启动并开始为程序找到必要的导入。然后,它执行我放置在程序开头的打印语句。立即在print语句之后开始运行destroy语句。然后,命令窗口关闭,程序永不打开。

如果在不使用调试选项的情况下运行程序,程序将加载约十秒钟,然后出现Windows消息框,并显示错误“无法执行脚本运行”。在禁用调试选项的情况下,不会出现此消息框。

我正在为此程序使用tkinter。有一些想法认为tkinter可能是问题,但没有真正的证据,只是预感。欢迎任何意见,谢谢。

最佳答案

有一个pyinstaller bug试图导入C指针,这被标识为误报,因为尽管它们不是直接导入的,但使用执行程序的系统的API,可以通过安装发行版来解决适用于Windows 10之前版本的计算机的C ++软件包,但这是一个小问题

至于执行问题,您应该检查/执行以下操作:


为程序name.py创建一个SPEC文件
确认所选的选项与SPEC文件匹配
验证哪些模块是用python编写的,哪些模块具有指向C的二进制链接
图书馆
将找到的二进制文件添加到SPEC文件中,以便将它们打包在目录中。
验证是否将所有第三方库都添加到了SPEC文件或主执行文件中,也就是说,如果name.py并将文件导入到同一目录:Name2.py中,并且没有出现的库已导入到其中在name.py中,可能不会导入该库,并且可能导致任何错误。


将程序编译到目录后,请验证一切正常,如果失败,请进行手动修复,列出它们,然后尝试将其添加到SPEC文件或name.py中,以便下次查找时进行编译您的项目,运行没有问题,

建议,尝试使用分发目录,它将减少您的麻烦并加快程序的加载,缩短开发时间,尝试使用启动器的模型,仅在调用了主函数的启动器时进行编译name .py并导入必要的库。因此,每次修改name.py时,您都会立即注意到更改。

一旦一切运行完毕,您可以决定退出启动器模型还是将所有内容传递到单个文件中

关于python - pyinstaller可执行文件崩溃了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56876619/

相关文章:

python - miniconda 安装会影响标准 python 安装吗?

python - 列表和元组

javascript - 非 ASCII 字符 '\xc5' 破坏 python 脚本

python - 无法让所有文件链接到pyinstaller

python - py 安装程序 : program that reads a csv

python-3.x - 复制 Pyinstaller 的许可证依赖项

python - 使用 homebrew 安装 pyinstaller

python - 查找Python可执行文件的路径

python - 对 Python `import x` 和 `from x import y` 语句进行排序的正确方法是什么?

python - 如何计算 Pandas 列表列中每个唯一值的出现次数