Ich habe angefangen, an einer kommerziellen Anwendung in Python zu arbeiten, und ich wäge meine Optionen ab, wie man die Anwendung verteilt.Welche Einschränkungen gibt es beim Verteilen von .pyc-Dateien?
Abgesehen von den offensichtlichen (Quellen mit einer entsprechenden kommerziellen Lizenz zu verteilen), überlege ich, nur die .pyc
Dateien ohne ihre entsprechenden .py
Quellen zu verteilen. Aber ich kenne Pythons Kompatibilitätsgarantien nicht genug, um zu wissen, ob das überhaupt machbar ist, geschweige denn, ob es eine gute Idee ist oder nicht.
Sind .pyc
Dateien unabhängig vom zugrunde liegenden Betriebssystem? Würde beispielsweise eine Datei .pyc
, die auf einem 64-Bit-Linux-Computer erstellt wurde, auf einem 32-Bit-Windows-Computer ausgeführt werden?
Ich habe festgestellt, dass .pyc
Datei should be compatible across bugfix releases, aber was ist mit Major und Minor Releases? Zum Beispiel wäre eine mit Python 3.1.5 generierte Datei kompatibel zu Python 3.2.x? Oder wäre eine .pyc
Datei, die mit Python 2.7.3 generiert wurde, mit einer Python 3.x Version kompatibel?
Edit:
In erster Linie kann ich Interessengruppen beschwichtigen, die unbequem zu verteilen Quellen sind. Das Verteilen von .pyc
ohne Quellen kann ihnen ein gewisses Maß an Komfort geben, da es den zusätzlichen Schritt des Dekompilierens erfordern würde, um an die Quellen zu kommen, selbst wenn dieser Schritt etwas trivial ist. Gerade genug von einer Barriere, um ehrliche Leute ehrlich zu halten.
Hat mich neugierig gemacht, gibt es eine (empfohlene oder irgendeine) Möglichkeit, Python-Code irgendwie zu verschleiern und zu verteilen? – Levon
@Levon: Ich weiß nicht, ich mache solche dummen Sachen nicht. –
Und trotzdem habe ich dich noch upvoted :-) – Levon