Seite 1 von 1
.py in .pyc für ubuntu-Server kompilieren
Verfasst: Montag 13. Februar 2012, 17:51
von merti
Hallo python forum,
bitte entschuldigt die Anfängerfrage - ich bin neu in diesem Forum und neu in Python!
Ich habe ein Python-Skript verändert und möchte es von .py zu .pyc kompilieren. Das Skript soll auf einem Ubuntu-Webserver laufen. Ich habe zwar schon ein wenig über die Vorgehensweise im Web gefunden, aber trotzdem komme ich nicht weiter. Ich habe auf meinem Mac Python installiert und habe somit die Shell, IDLE und den Launcher zur Verfügung.
Ich habe gelesen, dass folgender Befehl passend ist:
import py_compile
py_compile.compile('meinmodul.py')
Wo muss ich den Befehl ausführen und wo muss die .py - Datei vorliegen?
Kann ich die auf dem Mac kompilierte Datei auf dem Webserver laufen lassen oder muss ich sie dort kompilieren?
Vielen Dank für die Unterstützung!
Thorsten
Re: .py in .pyc für ubuntu-Server kompilieren
Verfasst: Montag 13. Februar 2012, 17:54
von Dav1d
Hallo und Willkommen im Forum.
Du musst deine Python-Datei nicht kompelieren, damit sie der Webserver (apache?) ausführen kann.
Re: .py in .pyc für ubuntu-Server kompilieren
Verfasst: Montag 13. Februar 2012, 18:05
von JonasR
Einfach im gleichen Verzeichnis, wo auch die zu "kompilierenden" Scripte sind, ausführen.
Edit: kA ob es systemübergreifend geht...
Re: .py in .pyc für ubuntu-Server kompilieren
Verfasst: Montag 13. Februar 2012, 18:32
von HerrHagen
Nochmal... Du musst nix kompilieren. Das wird automatisch und im Hintergrund gemacht wenn du die besteffenden .py Dateien startest. Die entstenden Bytecode-Dateien sind dann übrigens plattformunabhängig (jedoch nicht komplett versionsunabhängig).
Re: .py in .pyc für ubuntu-Server kompilieren
Verfasst: Montag 13. Februar 2012, 21:56
von DasIch
Die bytecode Dateien sind zumindest abhängig vom Interpreter und der Platform. Meines Wissens ist das Format auch nicht klar definiert, dementsprechend ist davon abzuraten es für solche Zwecke zu nutzen.
Re: .py in .pyc für ubuntu-Server kompilieren
Verfasst: Montag 13. Februar 2012, 22:31
von JonasR
Sind sie nun Plattform unabhängig oder nicht? Ihr widersprecht euch da...
Re: .py in .pyc für ubuntu-Server kompilieren
Verfasst: Montag 13. Februar 2012, 22:32
von deets
@DasIch
Das stimmt nicht. Zumindest pro Minor-Version (also alle 2.X) ist das stabil, und auch Plattformuebergreifend. Wir liefern zB pycs fuer Py2.5 in Mac + Win aus.
Re: .py in .pyc für ubuntu-Server kompilieren
Verfasst: Montag 13. Februar 2012, 22:43
von problembär
Re: .py in .pyc für ubuntu-Server kompilieren
Verfasst: Dienstag 14. Februar 2012, 09:11
von merti
Hallo und vielen Dank für eure Antworten!
Ich hatte bisher mit Python noch nichts zu tun, kenne mich aber gut mit PHP und Javascript aus. Das besagte Skript ist Teil eines Indizierungsdienstes. Ich möchte es an einer Stelle erweitern und hoffentlich problemlos weiterhin nutzen.
Diesen Befehl konnte ich auf dem Terminal nicht ausführen - wahrscheinlich muss dafür den Server konfigurieren. Aber wenn ich euch richtig verstanden habe muss ich das auch nicht machen.
In dem Verzeichnis gibt es die Datei als .py und als .pyc. Also kann ich einfach die .pyc löschen, die .py ändern und beim nächsten Aufruf wird die .pyc automatisch erzeugt?
Im Skript wird der Befehl
import auch verwendet, jedoch sind die Module ohne Dateiendung angegeben. Nimmt Python automatisch eine .pyc bzw. .py - Datei?
Vielen Dank für euer Feedback!
Thorsten
Re: .py in .pyc für ubuntu-Server kompilieren
Verfasst: Dienstag 14. Februar 2012, 09:18
von BlackJack
@merti: Du kannst die *.pyc-Datei auch *nicht* löschen. Hör auf Dir Gedanken zu machen und ändere einfach die *.py-Datei. Die *.pyc's sind ein Implementierungsdetail von CPython. Wenn die *.py-Datei neuer ist, wird die genommen und übersetzt und die alte *.pyc überschrieben. Alles automatisch.
Re: .py in .pyc für ubuntu-Server kompilieren
Verfasst: Dienstag 14. Februar 2012, 09:27
von merti
Danke BlackJack!
Ich teste es aus - wollte mich halt erst mal informieren, da es ja ein aktives System ist, an dem ich gerade Änderungen einbinde.
Python scheint interessant zu sein - muss ich mich mal reinarbeiten.
Re: .py in .pyc für ubuntu-Server kompilieren
Verfasst: Dienstag 14. Februar 2012, 09:28
von JonasR
Nur der Vollständigkeit halber:
Muss im Python Interpreter ausgeführt werden. Einfach in das CLI schreiben geht natürlich nicht

Ergänzend zu BlackJack, die Scripte werden beim importieren zu .pyc, beim einfachen ausführen werden diese nicht kompiliert.