Отсутствующие 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