So ändern Sie python3 von python3.5 in python3.6

7

Ich habe sowohl Python3.6 als auch Python3.5 auf Ubuntu (Zesty Beta 2). Ich weiß, dass pythonpython2.7 aufgerufen wird. Das Problem ist, wenn ich python3aufrufe, wird automatisch Python3.5 anstelle von Python3.6 gestartet.

Gibt es einen besseren Weg, dies zu beheben als einen Alias?

Tommaso Thea Cioni
quelle
Was ist los mit Aliasen?
Ravexina
@ Ravexina Verlangsamen sie nicht Muscheln?
Tommaso Thea Cioni
Ich bin mir nicht sicher, ob sie es tun: Verlangsamen Aliase den Start einer Shell?
Ravexina
1
Wenn Sie die vom System bereitgestellte Version von Python ändern, besteht die Gefahr, dass Ihr System beschädigt wird. Viele wichtige Systemdienste (wie apt) werden mit der vom System bereitgestellten Version von Python getestet. Der beste Weg, um mit verschiedenen Versionen von Python zu experimentieren, ist eine VM.
user535733

Antworten:

8

Das Ändern der Standardversion python3kann viele Probleme auf Ihrem System verursachen, und ich würde davon abraten, darauf python3hinzuweisen python3.6. Rufen Sie einfach python3.6explizit die Programme auf, auf die es ankommt, und lassen Sie den python3Symlink unverändert.

Gunnar Hjalmarsson
quelle
4

Als Alternative zu Aliasnamen können Sie Folgendes verwenden update-alternatives:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1

Dieser Befehl erstellt einen Link in: /usr/bin/python3to /usr/bin/python3.6.

Ich bin mir nicht sicher, ob es eine gute Idee ist. Vielleicht macht ein Update sie kaputt.

Eine andere Möglichkeit besteht darin, einen Link zur gewünschten Python-Version zu erstellen ~/binund diesen Pfad dann der Umgebungsvariablen $ PATH hinzuzufügen:

export PATH=/home/$USER/bin:$PATH

Oder in Ihrem .profile:

PATH=/home/$USER/bin:$PATH
Ravexina
quelle
Dies wird Dinge zerstören, die erwarten, dass Python3 Python3.5 ist (Stand 17.04). Das Starten eines Terminals funktioniert beispielsweise nicht und die Aktualisierungsanzeige schlägt fehl. Eigentlich bricht apt ziemlich schlecht.
Nick Perkins
0

In Bezug auf Ihre eigentliche Frage (ob es eine gute Idee ist oder nicht, lasse ich beiseite), können Sie Ihre / usr / bin / python3-Version (in meinem Fall 3.4) überprüfen und durch die neue Version ersetzen:

$ python3 -V
  Python 3.4.9

$ ls -lh /usr/bin/python3
  lrwxrwxrwx. 1 root root  9 Dec  5 16:35 /usr/bin/python3 -> python3.4

$ sudo mv /usr/bin/python3 /usr/bin/_python3
$ sudo cp /usr/bin/python3.6 /usr/bin/python3

$ python3 -V
  Python 3.6.6
Noam Manos
quelle