Отсутствующие dll-файлы при использовании pyinstaller
Добрый день!
Я использую python 3.5.2 с qt5, pyqt5 и sip14.8. Я также использую последний pyinstaller bracnch (3.3.dev0+g501ad40).
Я пытаюсь создать exe-файл для базовой программы hello world.
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++ runtime и добавил их в свою среду. Но теперь я продолжаю получать ошибки о отсутствующих DLL (qsvg, Qt5PrintSupport)
6296 WARNING: lib not found: Qt5Svg.dll dependency of C:usersmeappdatalocalprogramspythonpython35libsite-pac
kagesPyQt5Qtpluginsimageformatsqsvg.dll
6584 WARNING: lib not found: Qt5Svg.dll dependency of C:usersmeappdatalocalprogramspythonpython35libsite-pac
kagesPyQt5Qtpluginsiconenginesqsvgicon.dll
6992 WARNING: lib not found: Qt5PrintSupport.dll dependency of C:usersmeappdatalocalprogramspythonpython35lib
site-packagesPyQt5Qtpluginsprintsupportwindowsprintersupport.dll
7535 WARNING: lib not found: Qt5PrintSupport.dll dependency of c:usersmeappdatalocalprogramspythonpython35lib
site-packagesPyQt5QtPrintSupport.pyd
8245 INFO: Looking for eggs
8245 INFO: Using Python library c:usersmeappdatalocalprogramspythonpython35python35.dll
8246 INFO: Found binding redirects:
Я проверил, и обе библиотеки DLL существуют и имеют свой путь. Я также попытался вручную добавить их в папку dist, но это не помогло.
Я высоко ценю любые советы, которые у вас могут быть!
5 ответов
Это может быть больше похоже на обходной путь, и Pyinstaller может потребоваться исправление.
узнал, что --paths
аргумент, указывающий на каталог, содержащий Qt5Core.dll файлы, Qt5Gui.dll файлы, etc. помогли
pyinstaller --paths C:\Python35\Lib\site-packages\PyQt5\Qt\bin hello.py
теперь это было исправлено в последней ветви разработки PyInstaller, см. эта проблема для PyInstaller на GitHub.
нормально добавлять --Path
аргумент, указывающий каталог, содержащий библиотеку unfound, решает проблему. Может возникнуть проблема при синтаксическом анализе командной строки, Если вы используете PyInstaller 3.3 dev. Обычно это происходит, если путь содержит пробелы. В таком случае, вы можете изменить
Я прочитал все сложные решения на github и stackoverflow для этой проблемы. Тем не менее, приведенное ниже простое решение-это то, что сработало для меня:
Шаг 1: pip3 удалить pyinstaller
Шаг 2: pip install pyinstaller
Шаг 3: pyinstaller --onefile filename.py
Я попробовал это решение на 2 разных компьютерах, которые столкнулись с той же проблемой. Обе работы. Пожалуйста, дайте мне знать, если это сработает и для вас. Недурно бы оценили после этого. Ура!--1-->
26095 предупреждение: lib не найдено: api-ms-win-crt-runtime-l1-1-0.зависимость dll c:\users\user\appdata\local\programs\python\python36-32\DLLs\select - ... пид
поиск в C: диск для dll и установить путь в команде pyinstaller. Команда ниже Исправлена ошибка выше pyinstaller в windows 10:
pyinstaller --paths "C:\Windows\WinSxS\x86_microsoft-windows-m..namespace-downlevel_31bf3856ad364e35_10.0.17134.1_none_50c6cb8431e7428f" hello.py