Auf einem Projekt, das ich beteiligt bin, wir Python Produkt verpacken. Die Verzeichnisse von Pyc-Dateien und dergleichen werden gebündelt (tar.gz-Datei) und verteilt. Die Dateinamen werden geändert, um den cpython-34-Teil des Dateinamens zu entfernen.Mit einem pyz enthält pyc Dateien auf einem anderen Rechner
Wir haben eine neue Testumgebung mit Ubuntu 16.04, die 3,5 Python hat und möchte den Code auszuführen/testen. Wenn wir es entpacken und ausführen, erhalten wir einen Fehler:
$ ./configure
/usr/bin/python3: can't find '__main__' module in '/home/user/product/configure.pyz'
Wenn ich die pyz Datei manuell entpacken und versuche, den Python von der Kommandozeile ausgeführt werden, um nach dem Import, erhalte ich eine Mitteilung über sie ein Wesen 3.4 binär. Wenn ich stattdessen das Paket auf der Maschine 3.5 bauen, kann ich laufen sie völlig auf dem 3,5-Maschine, aber wenn ich auf 3,4 kopieren, erhalte ich den gleichen Fehler.
Frage ist ... was brauche ich zu laufen zu tun/es testen? Ideen, die ich hatte ... 3.5 in einer Art 3.4 Kompatibilitätsmodus ausgeführt. Installieren Sie 3.4 (wahrscheinlich von der Quelle, weil ich kein 3.4-Paket für Ubuntu 16.04 finden kann). Vielleicht einige 3.5 Konfigurationseinstellungen anpassen? Vielleicht eine neue Einstellung beim Verpacken, damit 3.4 und 3.5 funktionieren können? Ich nehme an, ich habe einige Ideen verpasst, aber ich möchte nicht fragen, was ich denke, die Lösung ist, ich würde gerne wissen, was die Lösung ist.
eine Reihe von SO Fragen im Zusammenhang mit pyc Dateien gegoogelt und gefunden hat, weiß ich, dass die 3.4-Dateien nicht kompatibel sind, aber es gibt Möglichkeiten, es zu benutzen?