Bonne journée!
J'utilise python 3.5.2 avec qt5, pyqt5 et sip14.8 . J'utilise également la dernière version de pyinstaller (3.3.dev0 + g501ad40).
J'essaie de créer un fichier exe pour un programme de base 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_())
Au début, j'avais quelques erreurs concernant crt-msi. Donc, j'ai réinstallé le SDK et le runtime c ++ et les ai ajoutés à mon environnement .
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:
J'ai vérifié et les deux DLL existent et ont leur PATH défini. J'ai également essayé de les ajouter manuellement à mon dossier dist, mais cela ne m'a pas aidé.
J'apprécierai beaucoup vos conseils!
Cela peut ressembler davantage à une solution de contournement et Pyinstaller pourrait avoir besoin d'être corrigé.
J'ai découvert que l'argument --paths
pointant vers le répertoire contenant Qt5Core.dll , Qt5Gui.dll , etc. a aidé
pyinstaller --paths C:\Python35\Lib\site-packages\PyQt5\Qt\bin hello.py
J'ai lu toutes les solutions compliquées sur github et stackoverflow pour ce problème . Cependant, la solution simple ci-dessous est ce qui a fonctionné pour moi:
Étape 1: désinstaller le programme de désinstallation de pip3
Étape 2: pip install pyinstaller
Étape 3: pyinstaller --onefile filename.py
J'ai essayé cette solution sur 2 ordinateurs différents qui faisaient face au même problème ... Les deux ont fonctionné ... Merci de me faire savoir si cela fonctionne aussi pour vous. Un bon coup de pouce serait apprécié après cela .
Ce problème a maintenant été résolu dans la dernière branche de développement de PyInstaller, voir ce problème pour PyInstaller sur GitHub .
Ajouter normalement le répertoire de pointage avec l'argument --Path
contenant la bibliothèque non résolue résout le problème. Il peut y avoir un problème si l'analyse de la chaîne de commande si vous utilisez PyInstaller 3.3dev. Cela se produit généralement si le chemin contient des espaces. Dans ce cas, vous pouvez modifier l'argument pathex
dans le fichier .spec
généré par PyInstaller, puis l'exécuter avec PyInstaller pour générer le fichier exécutable.
pyinstaller file_name.spec
Espérons que cela sera bientôt résolu .....
26095 ATTENTION: lib introuvable: api-ms-win-crt-runtime-l1-1-0.dll dépendance de c:\utilisateurs\utilisateur\appdata\local\programmes\python\python36-32\DLLs\select.pyd
Recherchez dans C: recherchez dll et définissez le chemin dans la commande pyinstaller. La commande ci-dessous a corrigé l'erreur pyinstaller ci-dessus dans Windows 10:
pyinstaller --paths "C:\Windows\WinSxS\x86_Microsoft-windows-m..namespace-downlevel_31bf3856ad364e35_10.0.17134.1_none_50c6cb8431e7428f" hello.py