Wie ein Plattform übergreifendes Script definieren in Vers2?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
SwissMäc
User
Beiträge: 20
Registriert: Freitag 26. Februar 2010, 21:36

Ich möchte ein einfaches Script auf Mac, Linux und Windows laufen lassen.
Solange ich das lokale Verzeichnis nicht verlasse gibt es auch keine Probleme mit Pfaden.
Dazu habe ich es in Version 2.6 erstellt, damit es auch auf dem Mac mit Standart-Installation läuft.

Wenn man das Script jeweils mit 2.6 aufruft, läuft es auch auf allen Plattformen :-), jedoch nur wenn man es ausdrücklich mit 2.6/2.7 startet. :-(

Dann habe ich Shebangs versucht, aber ohne Erfolg:
#!/usr/bin/env python2
#!c:/Python27/python.exe -u

Auf den Windows PC's mit Python 3 funktioniert das "alte" 2.6er Script nicht mehr, auch wenn 2.7 auch installiert ist...
Wie macht man das ?
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

Die Shebang wird nur von Unix-System interpretiert, und zumindest bei mir gibt es `python2` nicht, nur `python` und `python3.2`.

Wahrscheinlich ist auf dem Windows-Rechner Python 3 als Standard eingestellt, und muss deshalb explizit mit Python 2 aufgerufen werden. Python 2.6 und Python 2.7 sind übrigens nahezu kompatibel, also sollte fast jedes Python-2.7-Script auch mit Python 2.6 laufen.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Antworten