Re: [Python-de] Python und Windows

Hallo,
On Wed, 30 Oct 2013 01:13:34 +0100 Marek Kubica marek@xivilization.net wrote:
Wenn ich mich richtig erinnere (ist schon einige Zeit her) registriert der Installer eh .py auf den Python-Interpreter, so dass man via skriptname.py die Datei aufrufen kann.
Das nervt mich auf meinem Arbeitsrechner am meisten, weil ich eine Zeit lang eine Webanwendung unter Python 2.6 entwickelt und gleichzeitig aber Python 3-Skripte für andere Aufgaben verwendet habe. Meine Lösung ist etwas trickreich, funktioniert aber ganz gut.
Zunächst habe ich Python2.6 nach C: \Programme \Python und dann Python 3 nach C:\Programme \Python3 installiert. Dann habe ich das Verzeichnis von Version 2.6 in C:\Programme\Python2.6 umbenannt. Über zwei Batch Skripte namens enable-python26 und enable-python3 setze ich C:\Programme\Python als Symlink (Junction unter Windows) auf die gerade benötigte Python-Version.
Und ja, die Kommandozeile unter Windows hat diesen Namen nicht wirklich verdient. ;-)
Gruß, Dennis

On 2013-10-31 21:58, Dennis Schulmeister usenet@windows3.de wrote:
On Wed, 30 Oct 2013 01:13:34 +0100 Marek Kubica marek@xivilization.net wrote:
Wenn ich mich richtig erinnere (ist schon einige Zeit her) registriert der Installer eh .py auf den Python-Interpreter, so dass man via skriptname.py die Datei aufrufen kann.
Das nervt mich auf meinem Arbeitsrechner am meisten, weil ich eine Zeit lang eine Webanwendung unter Python 2.6 entwickelt und gleichzeitig aber Python 3-Skripte für andere Aufgaben verwendet habe. Meine Lösung ist etwas trickreich, funktioniert aber ganz gut.
Zunächst habe ich Python2.6 nach C: \Programme \Python und dann Python 3 nach C:\Programme \Python3 installiert. Dann habe ich das Verzeichnis von Version 2.6 in C:\Programme\Python2.6 umbenannt. Über zwei Batch Skripte namens enable-python26 und enable-python3 setze ich C:\Programme\Python als Symlink (Junction unter Windows) auf die gerade benötigte Python-Version.
Das geht eigentlich nur in einer Single-Tasking-Umgebung. Sobald da irgendwas im Hintergrund läuft, das Python-Scripts aufruft, besteht immer die Gefahr, dass der Symlink zum unpassenden Zeitpunkt geändert wird.
Robuster währe wohl, die Endungen .py2 und .py3 zu verwenden und mit den entsprechenden Interpretern zu verknüpfen.
hp

Am 31.10.2013 22:58, schrieb Dennis Schulmeister:
Zunächst habe ich Python2.6 nach C: \Programme \Python und dann Python 3 nach C:\Programme \Python3 installiert. Dann habe ich das Verzeichnis von Version 2.6 in C:\Programme\Python2.6 umbenannt. Über zwei Batch Skripte namens enable-python26 und enable-python3 setze ich C:\Programme\Python als Symlink (Junction unter Windows) auf die gerade benötigte Python-Version.
Scheint mir reichlich kompliziert. Der Vorschlag von Dennis (.py2, .py3) ist da wesentlich eleganter und stabiler.
Alternativ könntest Du die Endung .py auch für ein Skript registrieren, das die shebank-Zeile der Datei auswertet und dort den entsprechenden Interpreter ausliest.

Am Thu, 31 Oct 2013 22:58:19 +0100 schrieb Dennis Schulmeister usenet@windows3.de:
Das nervt mich auf meinem Arbeitsrechner am meisten, weil ich eine Zeit lang eine Webanwendung unter Python 2.6 entwickelt und gleichzeitig aber Python 3-Skripte für andere Aufgaben verwendet habe. Meine Lösung ist etwas trickreich, funktioniert aber ganz gut.
Zunächst habe ich Python2.6 nach C: \Programme \Python und dann Python 3 nach C:\Programme \Python3 installiert. Dann habe ich das Verzeichnis von Version 2.6 in C:\Programme\Python2.6 umbenannt. Über zwei Batch Skripte namens enable-python26 und enable-python3 setze ich C:\Programme\Python als Symlink (Junction unter Windows) auf die gerade benötigte Python-Version.
Kannst du icht einfach ein Skript schreiben, dass eine Shebang-Zeile o.ä. auswertet, und .py-Dateien dann damit ausführen?

On 1-11-13 12:54 PM, "Florian Diesch" diesch@spamfence.net wrote:
Am Thu, 31 Oct 2013 22:58:19 +0100 schrieb Dennis Schulmeister usenet@windows3.de:
Das nervt mich auf meinem Arbeitsrechner am meisten, weil ich eine Zeit lang eine Webanwendung unter Python 2.6 entwickelt und gleichzeitig aber Python 3-Skripte für andere Aufgaben verwendet habe. Meine Lösung ist etwas trickreich, funktioniert aber ganz gut.
Zunächst habe ich Python2.6 nach C: \Programme \Python und dann Python 3 nach C:\Programme \Python3 installiert. Dann habe ich das Verzeichnis von Version 2.6 in C:\Programme\Python2.6 umbenannt. Über zwei Batch Skripte namens enable-python26 und enable-python3 setze ich C:\Programme\Python als Symlink (Junction unter Windows) auf die gerade benötigte Python-Version.
Kannst du icht einfach ein Skript schreiben, dass eine Shebang-Zeile o.ä. auswertet, und .py-Dateien dann damit ausführen?
http://www.python.org/dev/peps/pep-0397/
Diez

Florian Diesch wrote:
Am Thu, 31 Oct 2013 22:58:19 +0100 schrieb Dennis Schulmeister usenet@windows3.de:
Das nervt mich auf meinem Arbeitsrechner am meisten, weil ich eine Zeit lang eine Webanwendung unter Python 2.6 entwickelt und gleichzeitig aber Python 3-Skripte für andere Aufgaben verwendet habe. Meine Lösung ist etwas trickreich, funktioniert aber ganz gut.
Zunächst habe ich Python2.6 nach C: \Programme \Python und dann Python 3 nach C:\Programme \Python3 installiert. Dann habe ich das Verzeichnis von Version 2.6 in C:\Programme\Python2.6 umbenannt. Über zwei Batch Skripte namens enable-python26 und enable-python3 setze ich C:\Programme\Python als Symlink (Junction unter Windows) auf die gerade benötigte Python-Version.
Kannst du icht einfach ein Skript schreiben, dass eine Shebang-Zeile o.ä. auswertet, und .py-Dateien dann damit ausführen?
Benutze kein Windows, aber gibt's das nicht beim Kauf des neuen! unglaublichen! Python 3.3 gratis! dazu?
http://docs.python.org/dev/using/windows.html#python-launcher-for-windows
;)

Am 01.11.2013 13:25, schrieb Peter Otten:
Benutze kein Windows, aber gibt's das nicht beim Kauf des neuen! unglaublichen! Python 3.3 gratis! dazu?
Benutze auch kein Windows und überlese daher solche Features. Aber schön, das Windows auch mal auf den Stand der Technik kommt SCNR
participants (6)
-
Dennis Schulmeister
-
Diez Roggisch
-
Florian Diesch
-
Hartmut Goebel
-
Peter J. Holzer
-
Peter Otten