Pyinstaller kompilieren zu exe
Ich versuche zu kompilieren eine Kivy-Anwendung in einer windows-exe-Datei, aber ich bekomme immer wieder ein Attribut Fehler:
AttributeError: 'str' - Objekt hat kein Attribut 'items'
Habe ich zusammengestellt andere Anwendungen, und folgte den Anweisungen Zeile für Zeile pro die kivy Seite (Abschluss der demo), aber wenn ich versuche, das gleiche zu tun, um meine Bewerbung erhalte ich die obige Fehlermeldung. Ich bin mir nicht sicher, wo um zu gehen ich habe versucht, für mehrere Stunden jetzt, und ich kann nicht scheinen, zu machen alle Fortschritte. Jegliche Hilfe würde sehr geschätzt werden.
Bearbeiten:
Unten ist der Schwanz der stack-trace, die ganze Sache ist lang und so habe ich das eingefügt, was ich denke, die relevant sein können, aber ehrlich gesagt bin ich ein wenig aus meiner Tiefe hier 🙂
6363 WARNING: stderr: File "c:\python27\lib\site-packages\PyInstaller\depend\a
nalysis.py", line 198, in _safe_import_module
hook_module.pre_safe_import_module(hook_api)
6375 WARNING: stderr: hook_module.pre_safe_import_module(hook_api)
File "c:\python27\lib\site-packages\PyInstaller\hooks\pre_safe_import_module\
hook-six.moves.py", line 55, in pre_safe_import_module
6378 WARNING: stderr: File "c:\python27\lib\site-packages\PyInstaller\hooks\pr
e_safe_import_module\hook-six.moves.py", line 55, in pre_safe_import_module
for real_module_name, six_module_name in real_to_six_module_name.items():
6388 WARNING: stderr: for real_module_name, six_module_name in real_to_six_m
odule_name.items():
AttributeError: 'str' object has no attribute 'items'
6396 WARNING: stderr: AttributeError: 'str' object has no attribute 'items'
Meine Skillung:
# -*- mode: python -*-
from kivy.deps import sdl2, glew
block_cipher = None
a = Analysis(['face.py'],
pathex=['c:\\Users\\Home\\PycharmProjects\\MSICheck\\Images'],
binaries=None,
datas=None,
hiddenimports=['sqlite3','kivy.app','six','packaging','packaging.version','packaging.specifiers'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
exclude_binaries=True,
name='face',
debug=True,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe,Tree('c:\\Users\\Home\\PycharmProjects\\MSICheck\\Images\\'),
a.binaries,
a.zipfiles,
a.datas,
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
strip=False,
upx=True,
name='face')
BEARBEITEN:
Anscheinend hat es nichts zu tun mit Kivy, wie ich geschrieben haben das front-end zu verwenden, TKinter und ich bin immer noch mit dem Thema.
meine Vermutung ist, Sie haben eine Zeichenfolge, die Sie denken, ist ein Wörterbuch ...
Tut mir Leid, dass ich nicht (und bin immer noch nicht) sicher, was zu geben, zu helfen.
python -m PyInstaller face.spec
ist der Befehl, den ich bin versucht zu laufenDas py-Skript nicht verwenden, Wörterbücher, und es funktioniert gut, wenn ich es durch Kivy, der Fehler tritt auf, wenn ich versuche, erstellen Sie die exe-Datei über PyInstaller. Ich habe neu installiert Kivy, PyInstaller, und kratzte sich alle Informationen, die ich finden konnte, aber nicht gefunden haben eine Lösung für Sie.
InformationsquelleAutor Tbaker | 2016-02-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie immer noch dieses Problem, hier ist, was Sie gelöst für mich:
Habe ich versucht, die Installation von sechs (in meinem Fall war es nicht bereits installiert ist), aber da es scheint, dass es gesucht wird
_vendor.six
und nicht nursix
, das hat es nicht lösen. Irgendwie, Upgrade setuptools löst.InformationsquelleAutor Beans the Wizard
Ich hatte eine ähnliche Fehlermeldung, wenn Sie versuchen zu kompilieren, mein Skript zu einem macho mit pyinstaller. Ich habe versucht, deinstallation/Neuinstallation von sechs und setuptools wie vorgeschlagen an anderer Stelle keine Wirkung. Ich bemerkte einen weiteren Fehler in Bezug auf enum und versucht zu deinstallieren enum34 über pip. Dieser Tat es.
InformationsquelleAutor Aaron Coffey
Dinge zu überprüfen:
- Überprüfen Sie die Ausgabe über die angegebenen Fehler. Manchmal einige moudles benötigt, vielleicht wurden nicht installiert. Stellen Sie sicher, dass alle Module installiert sind und keine Fehler vor.
- Upgrade-setup-tools mit dem Befehl :
pip install --upgrade-setuptools
- Deinstallieren und erneut installieren die Module, sechs, setuptools, pyinstaller auch hilft in einigen Fällen.
InformationsquelleAutor Shahansha Shaik
Ich habe vor einen ähnlichen Fehler wenn ich mit pyinstaller. Und ein Teil meiner Fehlermeldung zeigte Folgendes:
Wenn ich nach oben scrollen, diese Nachricht, die ich gefunden:
Also wandte ich mich an die Installation der module sechs. Und wenn ich es installiert, meine pyinstaller konnte erfolgreich ausgeführt werden.
Hoffe das kann dir helfen.
InformationsquelleAutor Sam Jia
Trotz Aktualisierung der
setuptools
, Deinstallation und Neuinstallation, es funktioniert für mich.dann
InformationsquelleAutor Fatih1923
Ich hatte ähnliche Fehler-Ausgabe von Pyinstaller mit wxPython Projekt. Es wurde gelöst durch ein Upgrade setuptools (aus 38.5.1 zu 39.0.2).
InformationsquelleAutor J Jones