2017-02-09 4 views
1

Ich bin in Schwierigkeiten mit cx_Freeze 5,0 Ich arbeite an: Windows-10 LTSB x64 Python 3.4.4 x86 PyQt5 PyWin32 x86Cx_Freeze Build ist nicht inklusive Python Bibliotheken in Zip-Datei

ich nie hatte irgendein Problem mit diesem Prozess, bis ich meine Windows10 Installation neu installiere ... es funktionierte großartig und jetzt kann ich es nicht herausfinden, warum es passiert ...

Wenn ich meine Python-App einfrieren (Python setup.py build) Skript kopiert die gesamten Python-Bibliotheken außerhalb der python34.zip. Die einzige Sache, die ich in python34.zip bekam, ist * .pyc Dateien (nur das .. aber eine Menge)

Ich weiß nicht, warum es Python-Bibliotheken jetzt nicht enthält und fand keine Optionen/Config, es hat dies automatisch schließen ...

Wenn jemand dabei helfen .. :)

Hinweis: nichts hat mich in meiner setup.py, einfacher setup.py-Datei, von Standard-Beispiel nur ein Asset kopiert geändert einschließlich Ordner (dieser ist korrekt kopiert .. keine Probleme)

Vielen Dank!

cx_Freeze build output

+0

Cxfreeze 5 ganz neu ist und eine Menge verändert hat. Haben Sie v5 vor der Neuinstallation verwendet? – Naib

Antwort

2

begegnete ich das gleiche Problem (wenn es in der Tat ein Problem ist) nach 5.x cx_Freeze Upgrade Ich glaube, es im Changelog hier erwähnt wird: https://cx-freeze.readthedocs.io/en/latest/releasenotes.html

  1. Zusätzliche Unterstützung für Pakete im Dateisystem statt in die Zip-Datei zu speichern. Es gibt eine Reihe von Paketen, die davon ausgehen, dass sie im Dateisystem gefunden werden und wenn sie in einer Zip-Datei gefunden werden, stattdessen seltsame Fehler erzeugen. Der Standard ist nun, Pakete in der Datei System zu speichern, aber eine Methode ist verfügbar, um Pakete in der Zip-Datei zu platzieren, wenn bekannt ist, dass sie sich ordnungsgemäß verhalten, wenn sie dort platziert werden. (Ausgabe # 73)

(Hervorhebung von mir) Das "Methode" wird offenbar in https://cx-freeze.readthedocs.io/en/latest/distutils.html#build-exe beschrieben, insbesondere die zip_include_packages und zip_exclude_packages Optionen.

I beendete die folgenden als Schlüsselwort Argument zu meinem Setup() Aufruf setzen, die es für mich gelöst:

options = {"build_exe": {"include_msvcr": True, "include_files": dataFiles, "packages": ["lxml", "idna"], "zip_include_packages": "*", "zip_exclude_packages": ""}},