PyInstaller erreur avec PyQt en essayant de construire --onfichier
Je suis en train de compiler un programme PyQt à l'aide de PyInstaller 1.5. Les deux programmes suivants beau travail pour moi quand j'utilise --onedir (par défaut), mais cela crée plutôt de grands programmes. Je veux utiliser l'option --onfichier option, mais quand je lance le créé onfichier application, j'obtiens l'erreur:
Traceback (most recent call last):
File "<string>", line 11, in <module>
File "pyinstaller/PyInstaller/loader/iu.py", line 468, in importHook
raise ImportError("No module named %s" % fqname)
ImportError: No module named PyQt4.QtCore
Cette erreur se produit pour cette:
import sys
from PyQt4 import QtCore, QtGui
app =QtGui.QApplication(sys.argv)
window =QtGui.QMainWindow()
window.setCentralWidget(QtGui.QLabel("Hello"))
window.show()
sys.exit(app.exec_())
et ce:
import sys
import PyQt4.QtCore, PyQt4.QtGui
app = PyQt4.QtGui.QApplication(sys.argv)
window = PyQt4.QtGui.QMainWindow()
window.setCentralWidget(PyQt4.QtGui.QLabel("Hello"))
window.show()
sys.exit(app.exec_())
Quelqu'un a une idée?
OriginalL'auteur taynaron | 2011-12-18
Vous devez vous connecter pour publier un commentaire.
1, Pyinstaller ne crée pas --onfichier encore plus petit que d' --onedir. Lorsque vous exécutez l' --onfichier, il crée juste un wrapper qui tout extraire dans le dossier dans un répertoire temporaire, puis l'exécuter.
2, Pyinstaller ne prend pas en charge
import PyQt4.QtCore, PyQt4.QtGui
, etfrom PyQt4 import QtCore, QtGui
est la seule méthode prise en charge selon ici.3, Quel est votre PyQt4 version? Est est la version GPL à partir de la Berge de l'installateur?
4, Avez-vous suivi les étapes correctement? par exemple,
Makespec.py
puisBuild.py
?from PyQt4 import QtCore, QtGui
importation de la syntaxe.En fait, vous pouvez toujours ajouter
PyQt4
à la spécification de fichier qui permettra de s'assurer que pyinstaller comprendra.Auriez-vous l'esprit de la marche moi comment ajouter PyQt4 (ou tout autre gros paquet) pour le fichier de spec? J'ai peur que les docs ne sont pas suffisamment claires pour moi de comprendre ce que je fais.
Je suis équipé de la dernière tronc version de PyInstaller, et je suis en cours d'exécution de la dernière MacPorts version de PyQt. Je suis en cours d'exécution Build.py avec un précédemment généré .le fichier spec.
J'ai finalement juste allé avec --onedir, depuis que @FelixYan mentionné, il n'a pas d'enregistrer un disque dur d'espace dans le long terme (et ralentit les choses un peu puisque vous avez pour extraire le contenu du programme à chaque fois). Merci!
OriginalL'auteur Felix Yan
Fonctionne très bien pour moi (Windows 7x64bit, Python 2.7x32bit), il suffit d'ajouter QT répertoire de votre chemin d'accès du système ou de l'ajouter à la ligne de commande avec
p
option:Si vous installer PyQt de executible il fait tout cela automatiquement pour vous:
http://sourceforge.net/projects/pyqt/files/
OriginalL'auteur mAsT3RpEE
J'ai eu le même problème avec pyinstaller 3.4 (python 3.6, PyQt5) et a finalement obtenu ce travail en adaptant les solutions trouvées dans ici et ici.
La méthode résumée:
1) Exécuter "installer pip pip==18.1". Il est crucial d'utiliser la version 18.1 bien que les plus récents existent également. Après ce processus, vous pouvez mettre à niveau pip par "installer pip pip --mise à niveau"
2) Installer pyinstaller version de développement: "pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz"
3 ) Exécuter pyinstaller normalement
Espérons que cette aide!
OriginalL'auteur mjkvaak