Darf ich .pyo und .pyc Dateien in einem RPM weglassen?

8

Ich bündle eine Python-Anwendung zusammen mit ihrer virtuellen Umgebung in einem RPM zur einfacheren Bereitstellung. Ist es eine gute Entscheidung, alle Dateien .pyo und .pyc wegzulassen?

Stattdessen würde ich compileall.py in der Nachinstallationsaktion innerhalb der virtenv -Instanz aufrufen. Funktioniert das, oder wird das Dinge vermasseln?

Hinweis: Mir ist klar, dass ich an einer Maschine versuchen könnte, aber a.) das würde mir keine schlüssige Antwort geben, ob das auf anderen Maschinen funktioniert und b.) andere haben vielleicht die gleiche Frage und ich habe nicht Find es nicht beantwortet.

    
0xC0000022L 19.08.2013, 10:56
quelle

2 Antworten

3

Du könntest sie wirklich weglassen - sie werden entweder erzeugt (wenn du Schreibzugriff hast), oder die .py wird bei jedem Import geparst (was Zeit kostet).

Abhängig von Ihrer Distribution kann Ihr RPM-System jedoch einfache Skripte zum Kompilieren von .py -Dateien und zum Bündeln der Dateien .pyo und .pyc bei Verteilung enthalten, was die Aufgabe recht einfach macht.

%Vor%

Ich. e., können Sie %py_compile resp. %py3_compile in den Abschnitt %build und Sie haben, was Sie brauchen.

Aber wie gesagt, Sie können sie auch weglassen, wenn Sie sie aus mehreren Python-Installationen verschiedener Versionsnummern verwenden wollen. Aber dann sollten Sie sicherstellen, dass die Dateien .pyc und .pyo niemals erstellt werden, da dies zu Problemen führen kann.

    
glglgl 19.08.2013, 11:34
quelle
1

Es ist sicher, solange Sie ihre .py -Dateien haben. Die Dateien .pyo und .pyc werden aus den ursprünglichen .py -Dateien generiert.

Siehe auch Was bedeuten die Python-Dateierweiterungen? .pyc .pyd .pyo stehen für? und Wenn Python wird interpretiert, was sind .pyc-Dateien?

    
Map X 19.08.2013 11:28
quelle

Tags und Links