Dll fichiers manquants lors de l'utilisation de pyinstaller
Bonne journée!
Je suis à l'aide de python 3.5.2 avec qt5, pyqt5 et sip14.8.
Je suis également en utilisant les dernières pyinstaller bracnch (3.3.dev0+g501ad40).
Je suis en train de créer un fichier exe de base pour un programme "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 premier abord, j'ai utilisé pour obtenir quelques erreurs concernant crt-msi. J'ai donc réinstallé SDK et c++ runtime et les a ajoutés à mon environnement.
Mais maintenant, je continue à recevoir des erreurs sur les dll manquantes (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:
J'ai vérifié et les deux dll existent et ont leur CHEMIN ensemble. J'ai aussi essayé d'ajouter manuellement à mon dist dossier, mais il n'a pas aidé.
Je vais très apprécie tous les conseils que vous pourriez avoir!
- "insérer une
dll
dans votre exe' est dure. essayez d'ajouteras source
pour le générateur de configuration. Une chosefrom x import y
pas eual àimport x.y
ouimport x.y as z
Vous devez vous connecter pour publier un commentaire.
Cela peut être plus comme une solution de contournement et Pyinstaller pourriez avoir besoin de fixation.
J'ai trouvé que
--paths
argument pointe vers le répertoire contenant Qt5Core.dll, Qt5Gui.dll, etc. aidévenv\Lib\site-packages\PyQt5\Qt\bin
.HOMEPATH
variable qui peut étendre automatiquement pour python répertoire d'installation. Ici, c'estC:\Python35\Lib\site-package\
. C'est plus portable que les chemins codés en dur., et ici, il est égal àHOMEPATH + \\PyQt5\Qt\bin
J'ai lu tous les complexes des solutions sur github et stackoverflow pour ce problème.
Cependant, ci-dessous la solution la plus simple est ce qui a fonctionné pour moi:
Étape 1: pip3 désinstaller pyinstaller
Étape 2: pip install pyinstaller
Étape 3: pyinstaller --onfichier filename.py
J'ai essayé cette solution sur 2 ordinateurs différents qui ont été confrontés au même problème.
Les deux travaillé.
S'il vous plaît laissez-moi savoir si cela fonctionne pour vous aussi. Thumbs up serait apprécié par la suite.
Cheers
Cela a été corrigé dans la dernière branche de développement de PyInstaller, voir cette Question pour PyInstaller sur GitHub.
Normalement l'ajout de
--Path
argument pointant vers le répertoire contenant les introuvables de la bibliothèque résout le problème. Il y a peut être un problème si la chaîne de commande de l'analyse si vous êtes à l'aide de PyInstaller 3.3 dev. Cela se produit généralement si le chemin contient des espaces. Dans de tels cas, vous pouvez modifierpathex
argument en.spec
fichier généré par PyInstaller et ensuite l'exécuter avec PyInstaller de construire un exécutable.J'espère que ce sera bientôt corrigé.....
De recherche dans le lecteur C: pour les dll et définir le chemin d'accès dans pyinstaller de commande. La commande ci-dessous fixe les ci-dessus pyinstaller erreur dans windows 10: