Wie man richtig erstellen pyinstaller Haken, oder vielleicht versteckt importieren?
Habe ich die Pakete (sagen wir dataread
und datainspector
), die irgendwie nicht erkannt von PyInstaller. Weil dieses, die Anwendung wird beendet, wenn die laufende Anwendung erreichen, den Punkt, wo es braucht, um den import von Modulen aus den Paketen.
Die einfachste Lösung wäre die Kopie dataread
und datainspector
in packaged app. Aber dies wird brechen die Absicht der Verpackung eine binary-version der Anwendung.
Hab ich überlesen hidded Importe und Haken, und ich denke, dass die beiden das problem lösen können. Aber ich bin nicht sicher, welche zu benutzen.
Jede Anregung?
PS: diese beiden Pakete enthalten möglicherweise geschachtelten Verzeichnis
Im moment, meine Erfahrung ist sehr begrenzt, für beide Möglichkeiten. Aber die Arbeit an es aktuell 😉 ich denke, PyInstaller Dokumentation ist, müssen Laien eine korrekte Erdung Konzept für diejenigen, die neu Ihre tech. Zum Beispiel bin ich nicht sicher, wo tun meine Pakete geht.... Ist es in der *.exe .. oder was? Würde gerne eine nette Summe bis Antwort.. 😉
InformationsquelleAutor swdev | 2015-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haken sind Dateien, die festlegen, welche zusätzlichen Aktionen bei pyinstaller findet die import-Anweisung. Also, wenn Sie hinzufügen "hook-data.py" Datei mit
hiddenimports = ['_proxy', 'utils', 'defs']
im inneren, wenn pyinstaller findenimport data
es wird überprüfen, ob weitere Befehle innerhalbhook-data.py
- Datei. Sie müssen den Pfad zu Haken von--additional-hooks-dir
(es ist besser sauber zu halten Arbeitsbereich als Misch-kompilieren-nur Dateien mit Quelle)http://pythonhosted.org/PyInstaller/hooks.html
Die einfachere Lösung ist die Verwendung
--hidden-import=modulename
zusammen mit pyinstaller Skript. Es wird auf Modul hinzufügen, wie import-Anweisung automatisch.Haken sind besser, wenn Sie angeben möchten, welche Datei braucht welche Modul. "--hidden-import ist einfacher als one-shot oder für die Fehlersuche.
Wo soll man diese Datei?
Datei kann überall sein, aber es ist am besten halten Sie es in einem separaten Ordner als Quelle, wenn Sie nur Experimentieren, dann können Sie pass
.
(dot) - zusätzliche-hooks-dir. Ich verwendete speziellepyinstaller_hooks
Ordner.InformationsquelleAutor Dawid Gosławski