Korrekter Umgang mit Python2 und Python3

7

Was ist die richtige Art und Weise, Skripte auszuführen, die von python2.x abhängen, aber von einem System, in dem python3.x mit Python aliasiert ist?

Die Lösung sollte Folgendes berücksichtigen:

  • Python2 sollte nur für diesen Bash-Lauf verwendet werden
  • Jedes Skript, das anschließend ausgeführt wird, sollte auch Python2 verwenden
  • Die Änderung sollte vorübergehend sein

Eine Lösung besteht darin, vorübergehend einen Alias ​​zu erstellen und den Speicherort für Python2 am Anfang des vollständigen Pfads festzulegen.

Was ist der richtige (* nix) Weg, um damit umzugehen?

Milbe Mitreski
quelle

Antworten:

7

Der richtige Weg ist, #!/usr/bin/python2als Shbang-Linie zu verwenden. Immer mehr Distributionen unterstützen dies jetzt, und sogar die Upstream-Python-Entwicklung hat es übernommen.

Dennis Kaarsemaker
quelle
Ja, aber wenn Sie ein Programm ausführen, das anschließend aufgerufen python bla bla wird, funktioniert dies nicht. Und ja, ich stimme für jedes neue Skript zu, das verwendet werden sollte
Mite Mitreski
5
Vielleicht #!/usr/bin/env python2, da viele Umgebungen haben werden python2, aber nicht um/usr/bin
Kojiro
1
Der PEP für Python2 / 3-Binärdateien ist PEP 394
Wieland