Je nach System python
== python2
oder python
== python3
.
Ausführbare Python-Skripte, beginnt mit:
#!/usr/bin/env python
#!/usr/bin/env python2
#!/usr/bin/env python3...
Für Python Py3K ist es in der Dokumentation enthalten. Ich sollte / kann es mit der Versionsnummer verwenden , also mache ich das:
#!/usr/bin/env python3
Aber ich habe ein Problem mit py2k-Skripten gefunden.
Während in py2k Dokumentation ist zu Verwendung geschrieben: #! /usr/bin/env python
,
auf einigen * nix-es ist python py3k standardmäßig, also python == python3. (Zum Beispiel ArchLinux-Python-Paket , hier Python-Paketdateien ).
Wie kann man Python-Skripte für die Verteilung verpacken (konfigurieren, erstellen) und / oder vorbereiten, um dies zu handhaben?
Ich frage nach Softwarepaketen, die von Benutzern einfach ausgeführt werden können (ohne ihre Umgebung zu verändern).
Kann ich für Python-Py2K-Skripte den gleichen Trick wie für Python-Py3K-Skripte ausführen und Folgendes festlegen : #!/usr/bin/env python2
? Kann ich sicher sein, dass jede Python-Py2K-Distribution eine python2
Datei enthält , die also #!/usr/bin/env python2
funktioniert?
Wenn ja, warum wird es nicht als Standard vorgeschlagen, beispielsweise in der Python Py2K-Dokumentation ?
python2
. Ich frage mich, warum es nicht Standard ist, es zu verwenden, wenn es py2k und py3k gibt und die Standardeinstellungen python
unterschiedlich sein können. Was ist mit Ihrem Rat zum Entfernen - es ist nicht richtig für dieses Beispiel, weil ich nach der Verpackung frage. Ich möchte ein Paket erstellen, das in verschiedenen Konfigurationen / Systemen ausgeführt werden kann. Keine Möglichkeit, die Umgebung zu ändern. Was ist mit der Überprüfung - es gilt nicht für Shebang - soweit ich weiß.
#!...python2
in Ihren Programmen verwenden und wenn Sie Python 3.x verwenden, dann verwenden #!...python3
. Verlassen Sie sich nicht darauf, dass das Betriebssystem den richtigen Link hat, wenn Sie wissen, dass es nur mit einer bestimmten Version funktioniert. Ich arbeite mit Systemen, auf denen Python 1.5.2 noch installiert ist. /usr/bin/python
Ich schreibe entweder Code, um ältere Python-Versionen zu verarbeiten, oder verwende ihn python2
.
python2
ausführbare Datei auf meinem System (Debian Squeeze). python
ist ein Symlink zu python2.6
und python3
ist ein Symlink zu python3.1
, aber es gibt keine python2
.
python2
, um es auszuführen (falls es installiert ist), und Sie können immer die Version mit überprüfenpython -V
. Wenn Sie möchten, dasspython
dies 2 oder 3 ist, sollten Sierm /usr/bin/python
dann einen Symlink erstellen, der auf Ihre gewünschte Python-Version verweist, zln -s /usr/bin/python2.5 /usr/bin/python
.