美好的一天!
我正在使用python 3.5.2和qt5,pyqt5和sip14.8。 我也使用最新的pyinstaller bracnch(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并且设置了PATH。我还尝试手动将它们添加到我的dist文件夹中,但它没有帮助。
我非常感谢您的任何建议!
答案 0 :(得分:16)
这可能更像是一种解决方法,Pyinstaller可能需要修复。
我发现--paths
参数指向包含 Qt5Core.dll , Qt5Gui.dll 等的目录帮助
pyinstaller --paths C:\Python35\Lib\site-packages\PyQt5\Qt\bin hello.py
答案 1 :(得分:2)
我在github和stackoverflow上阅读了所有复杂的解决方案来解决这个问题。 但是,以下简单的解决方案对我有用:
第1步:pip3卸载pyinstaller
第2步:pip install pyinstaller
第3步:pyinstaller --onefile filename.py
我在两台面临同样问题的计算机上尝试了这个解决方案。 两者都有效。 如果这对您有用,请告诉我。赞许之后将不胜感激。 干杯
答案 2 :(得分:1)
现在已经在PyInstaller的最新开发分支中修复了这个问题,请参阅this Issue for PyInstaller on GitHub。
答案 3 :(得分:0)
通常添加--Path
参数指向目录包含不存在的库可以解决问题。如果使用PyInstaller 3.3dev,如果命令字符串解析可能会出现问题。如果路径包含空格,通常会发生这种情况在这种情况下,您可以修改PyInstaller生成的pathex
文件中的.spec
参数,然后使用PyInstaller运行它来构建可执行文件。
pyinstaller file_name.spec
希望很快就会修复.....
答案 4 :(得分:0)
26095警告:找不到lib:c:\ users \ user \ appdata \ local \ programs \ python \ python36-32 \ DLLs \的api-ms-win-crt-runtime-l1-1-0.dll依赖性select.pyd
在C:驱动器中搜索dll,并在pyinstaller命令中设置路径。以下命令修复了Windows 10中的上述pyinstaller错误:
pyinstaller --paths "C:\Windows\WinSxS\x86_microsoft-windows-m..namespace-downlevel_31bf3856ad364e35_10.0.17134.1_none_50c6cb8431e7428f" hello.py
答案 5 :(得分:-1)
可以使用“ pyinstaller --onefile filename.py”。 exe文件将在dist文件夹中创建