Hi,
ich habe mir jetzt zu Python 2 auch die neuere Version 3 installiert (auf Win7 64). Ältere Programme möchte ich weiter mit der 2er Version weiterpflegen, für neuere Projekte aber die 3er verwenden.
Was ich nun suche ist eine einfache Möglichkeit anzugeben, mit welcher Version ein bestimmtes Skript starten soll, von mir aus mit einer Zeile Code am Anfang einer jeden py-Datei (ähnlich einer Magic Line).
Wie macht man sowas?
Ich hab schon im Forum gesucht, aber leider nix gefunden. Ich möchte NICHT wissen, ob man besser Version 2 oder 3 benutzt, sondern wie man möglich einfach je nach Bedarf zwischen beiden Versionen wechselt.
Danke!
Zwischen Python 2 und 3 umschalten
Hi,
wenn es nur um die Entwicklung und Tests der Scripte geht, könntest du dir virtualenv mal ansehen.
Für den täglichen Gebrauch könntest du dir Starter für die Scripte anlegen, die diese jeweils mit dem entsprechenden Interpreter starten.
Also wenn du normalerweise ein Script mit
startest dann mit (z.B.)
dein Script ausführen.
wenn es nur um die Entwicklung und Tests der Scripte geht, könntest du dir virtualenv mal ansehen.
Für den täglichen Gebrauch könntest du dir Starter für die Scripte anlegen, die diese jeweils mit dem entsprechenden Interpreter starten.
Also wenn du normalerweise ein Script mit
Code: Alles auswählen
c:\...>python script.py
Code: Alles auswählen
C:\...>C:\Python26\python.exe script.py
Eine Quick&Dirty Lösung wäre: Setze vor Start eines 2er Scripts die PATH Variable auf den 2er Ordner und am Ende wieder den 3er Ordner. Das müsstest du aber dann mit ner bat lösen, ODER du sprichst die Exe, die dein Script ausführen soll direkt an.
greez
greez
Am elegantesten ist doch sicher eine Batch Datei unter deinem PATH, die den jeweiligen Interpreter aufruft.
Beispiel: python26.bat
Aufruf dann einfach mit "python26 myscript.py arg1 arg2 ..."
Beispiel: python26.bat
Code: Alles auswählen
@echo off
C:\Python26\python.exe %*
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/
Danke für eure hilfreichen Tipps.
Das mit den Dateiendungen, z. B. py3 verknüpft mit C:\python31\python.exe funktioniert super, ebenso eine Batch-Datei.
Nur bin ich mir etwas unsicher mit den PYTHON-Pfaden. Muss man die noch zusätzlich umbiegen, oder reicht es, wenn man wie oben beschrieben vorgeht und die zu verwendende exe spezifiziert? Könnte mir vorstellen, dass es zu Problemen kommt, wenn ein 3er Programm Module aus einer 2er Version nachlädt. Oder kann dies in diesem Fall garnicht passieren?
Das mit den Dateiendungen, z. B. py3 verknüpft mit C:\python31\python.exe funktioniert super, ebenso eine Batch-Datei.
Nur bin ich mir etwas unsicher mit den PYTHON-Pfaden. Muss man die noch zusätzlich umbiegen, oder reicht es, wenn man wie oben beschrieben vorgeht und die zu verwendende exe spezifiziert? Könnte mir vorstellen, dass es zu Problemen kommt, wenn ein 3er Programm Module aus einer 2er Version nachlädt. Oder kann dies in diesem Fall garnicht passieren?
-
- User
- Beiträge: 221
- Registriert: Sonntag 1. Juni 2008, 09:08
Das kann nicht passieren, da die .exe-Dateien in jeweils verschiedenen Verzeichnissen liegen, und den Content jeweils relativ zum .exe-Pfad laden.
Gruß
Gruß
Grüßle.
Wenn du die Umgebungsvariable "PYTHONPATH" manuell gesetzt hast, kann das Probleme machen, in diesem Fall musst du diese in dem Batch-Script setzen.RedSharky hat geschrieben:Nur bin ich mir etwas unsicher mit den PYTHON-Pfaden. Muss man die noch zusätzlich umbiegen, oder reicht es, wenn man wie oben beschrieben vorgeht und die zu verwendende exe spezifiziert? Könnte mir vorstellen, dass es zu Problemen kommt, wenn ein 3er Programm Module aus einer 2er Version nachlädt. Oder kann dies in diesem Fall garnicht passieren?
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/