python - 使用 Pynsist 和 PyQt 构建的 GUI : Import Error 'sip'

标签 python pyqt pyqt5 pynsist

我使用 PyQt5 构建了一个 GUI,并希望通过将其与 pynsist 打包来将其分发到未安装 Python 的其他计算机。不幸的是,当启动安装程序生成的快捷方式时,GUI 没有按预期打开,并且 Python 不断崩溃(即使安装了 Python)。

崩溃时控制台显示以下错误:

ModuleNotFoundError: No module named 'sip'.

这是由于 from PyQt5.QtCore import *

不幸的是,在安装了 Python 的计算机上启动 .launch.py​​ 脚本时,一切正常。我想这是因为它随后针对的是已安装的版本,而不是 GUI 构建中包含的版本。 但是,无论是否安装了 Python,快捷方式都不起作用,从而出现上述错误。

有什么想法可以解决此问题并使快捷方式在未安装 Python 的计算机上运行吗?

提前谢谢您!

最佳答案

当我第一次遇到这个问题时,我只是将 sip.pyd 添加到我的项目文件夹中。您可以在以下位置找到它:

x:/path-to-python/Lib/site-packages/sip.pyd

但真正解决我问题的是using pyinstaller 。 它会自动检测大多数依赖项,并且大多数时候无需复杂的配置即可运行。

pip install pyinstaller
pyinstaller main.py 
# done

关于python - 使用 Pynsist 和 PyQt 构建的 GUI : Import Error 'sip' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49234011/

相关文章:

python - 未启用时将 QDoubleSpinBox 值设置为空字符串

python - PyQt5 替代 Qtermwidget

python - Pyinstaller 和 PyQt5 错误 "Cannot find existing PyQt5 plugin directories"

python - 无法导入名称 util

python - 将 dict 字段转换为 **list** 以在 **enumarate** 中使用

python - 如何从自定义的 QMessageBox 中捕获按钮点击?

python - 为 QListWidget 中的特定项目设置不同的颜色

python - 使用 South (Mysql) 在 Django 中迁移问题

python - 当使用echo的代码完美工作时,Hadoop python作业给我一个错误

python - 使用 python 中的 PyQt5 按下按钮时更改 QML 中的标签