使用pyins时缺少dll文件

2024-03-29 10:09:54 发布

您现在位置:Python中文网/ 问答频道 /正文

再见!

我将python 3.5.2与qt5、pyqt5和sip14.8一起使用。 我也在使用最新的pyinstaller branch(3.3.dev0+g501ad40)。

我试图为一个基本的hello world程序创建一个exe文件。

from PyQt5 import QtWidgets
import sys

class newPingDialog(QtWidgets.QMainWindow):

def __init__(self):
    super(newPingDialog, self).__init__()
    self.setGeometry(50, 50, 500, 300)
    self.setWindowTitle("hello!")
    self.show()


app = QtWidgets.QApplication(sys.argv)
GUI = newPingDialog()
sys.exit(app.exec_())

一开始,我经常遇到一些关于crt-msi的错误。所以我重新安装了SDK和c++运行时并将它们添加到我的环境中。 但是现在我不断地得到关于缺少dll的错误(qsvg,Qt5PrintSupport)

6296 WARNING: lib not found: Qt5Svg.dll dependency of C:\users\me\appdata\local\programs\python\python35\lib\site-pac
kages\PyQt5\Qt\plugins\imageformats\qsvg.dll
6584 WARNING: lib not found: Qt5Svg.dll dependency of C:\users\me\appdata\local\programs\python\python35\lib\site-pac
kages\PyQt5\Qt\plugins\iconengines\qsvgicon.dll
6992 WARNING: lib not found: Qt5PrintSupport.dll dependency of C:\users\me\appdata\local\programs\python\python35\lib
\site-packages\PyQt5\Qt\plugins\printsupport\windowsprintersupport.dll
7535 WARNING: lib not found: Qt5PrintSupport.dll dependency of c:\users\me\appdata\local\programs\python\python35\lib
\site-packages\PyQt5\QtPrintSupport.pyd
8245 INFO: Looking for eggs
8245 INFO: Using Python library c:\users\me\appdata\local\programs\python\python35\python35.dll
8246 INFO: Found binding redirects:

我已经检查过了,两个dll都存在并设置了它们的路径。我还试图手动将它们添加到dist文件夹中,但没有起到任何作用。

我将非常感谢你的任何建议!


Tags: ofselfliblocalnotdependencyusersappdata
3条回答

这可能更像是一种解决方法,Pyinstaller可能需要修复。

我发现指向包含Qt5Core.dllQt5Gui.dll等目录的--paths参数有助于

pyinstaller --paths C:\Python35\Lib\site-packages\PyQt5\Qt\bin hello.py

我阅读了关于github和stackoverflow的所有复杂解决方案。 不过,下面的简单解决方案对我很有用:

步骤1:pip3卸载pyinstaller

步骤2:pip install pyinstaller

步骤3:pyinstaller--onefile filename.py

我在两台面临相同问题的不同计算机上尝试了这个解决方案。 两者都有效。 如果这对你也有用,请告诉我。在那之后请竖起大拇指。 干杯

现在,PyInstaller的最新开发分支已经修复了这个问题,请参见this Issue for PyInstaller on GitHub

相关问题 更多 >