Ich habe zwei Versionen von Python auf meiner Linuxbox:
$python
Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ /usr/local/bin/python2.7
Python 2.7.3 (default, Oct 8 2013, 15:53:09)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ which python
/usr/bin/python
$ ls -al /usr/bin/python
-rwxr-xr-x. 2 root root 4864 Jul 10 22:49 /usr/bin/python
Wie kann ich 2.7 zur Standardversion machen, damit ich bei python
der Eingabe 2.7 bekomme?
/usr/bin/env python
auf 2,6 anstelle von 2,3 bedeutete die Hälfte der Befehlerpm
und alleurpmi
funktionierten nicht mehr)./usr/bin/python
war ein weicher Link, auf den verwiesen wurdepython2
. Ich habe es gerade geändert inpython3.6
Antworten:
Sie möchten Ihr Standard-Python wahrscheinlich nicht wirklich ändern.
Ihre Distribution hat ein Standardsystem in Python installiert
/usr/bin
und verfügt möglicherweise über Skripte, die davon abhängen, dass diese vorhanden sind und von ausgewählt werden#! /usr/bin/env python
. Normalerweise können Sie Python 2.6-Skripte in 2.7 ausführen, aber möchten Sie dies riskieren?Darüber hinaus kann das Monkeying mit
/usr/bin
die Fähigkeit Ihres Paketmanagers zur Verwaltung von Paketen beeinträchtigen. Und das Ändern der Reihenfolge der Verzeichnisse in IhremPATH
Testament wirkt sich neben Python auf viele andere Dinge aus. (Tatsächlich ist es üblicher,/usr/local/bin
voraus zu sein/usr/bin
, und es kann das sein, was Sie tatsächlich wollen - aber wenn Sie es umgekehrt haben, gibt es vermutlich einen guten Grund dafür.)Aber Sie müssen nicht brauchen Ihre Standard - Python ändern das System zu bekommen 2.7 zu laufen , wenn Sie eingeben
python
.Zunächst können Sie einen Shell-Alias einrichten:
Geben Sie dies an einer Eingabeaufforderung ein oder fügen Sie es in Ihre ein,
~/.bashrc
wenn die Änderung dauerhaft sein soll. Wenn Siepython
sie jetzt eingeben , wird die von Ihnen gewählte Version 2.7 ausgeführt. Wenn jedoch ein Programm auf Ihrem System versucht, ein Skript damit auszuführen, wird/usr/bin/env python
die Standardversion 2.6 ausgeführt.Alternativ können Sie einfach eine virtuelle Umgebung aus Ihrem 2.7 erstellen (oder separate Venvs für verschiedene Projekte) und Ihre Arbeit innerhalb des Venvs erledigen.
quelle
yum
funktioniert mein Befehl nicht mehr! Ich habe versucht, den Sym-Link wieder zu erstellen, aber es funktioniertsudo ln -sf /usr/bin/python2.6 /usr/bin/python
keine Problemumgehung?/usr/bin/python
war vorher eigentlich kein Symlink, es war ein Wrapper-Skript oder eine ausführbare Datei, und jetzt haben Sie es überschrieben und können es nicht zurückbekommen. Wenn diesrpm
noch funktioniert, können Sie das Python-Paket manuell herunterladen und ohne installierenyum
.python2.6
so dass es immer noch da ist.Fügen Sie
/usr/local/bin
IhrerPATH
Umgebungsvariablen früher in der Liste als hinzu/usr/bin
.Im Allgemeinen geschieht dies in der RC-Datei Ihrer Shell, z. B. für Bash, Sie würden dies in Folgendes einfügen
.bashrc
:Dies führt dazu, dass Ihre Shell zuerst nach einem
python
In sucht/usr/local/bin
, bevor es mit dem In geht/usr/bin
.(Dies bedeutet natürlich, dass Sie auch darauf
/usr/local/bin/python
hinweisen müssenpython2.7
- wenn dies noch nicht geschehen ist, müssen Sie es mit einem Symlink verknüpfen.)quelle
Überprüfen Sie die aktuelle Version von Python durch:
Überprüfen Sie dann, ob Python ein symbolischer Link zu welcher Datei ist.
Ausgabe Bsp.:
Überprüfen Sie andere verfügbare Versionen von Python:
Ausgabe Bsp.:
Wenn Sie die aktuelle Version von Python in die Version 3.6 ändern möchten, bearbeiten Sie die Datei ~ / .bashrc:
Fügen Sie die folgende Zeile am Ende der Datei hinzu und speichern Sie:
So installieren Sie pip für Python 3.6
Überprüfen Sie bei Erfolg die aktuelle Version von pip:
Ausgabe Bsp.:
quelle
Geben Sie den Befehl ein
Hier können Sie so etwas sehen
Ihr Standard-Python2.7 ist mit dem Text 'Python' verknüpft.
Entfernen Sie also die Softlink-Python
Wiederholen Sie dann den obigen Befehl
Sie können sehen, dass der Softlink entfernt wurde
Erstellen Sie dann einen neuen Softlink für python3.6
ln -s /usr/bin/python3.6 Python
Versuchen Sie dann den Befehl
python
im TerminalGeben Sie
help
,copyright
,credits
oderlicense
für weitere Informationen.quelle
Alle Betriebssysteme werden mit einer Standardversion von Python geliefert und befinden sich in / usr / bin. Alle mit dem Betriebssystem gelieferten Skripte (z. B. yum) verweisen auf diese Python-Version in / usr / bin. Wenn Sie eine neue Version von Python installieren möchten, möchten Sie die vorhandenen Skripte nicht beschädigen, die möglicherweise nicht mit der neuen Version von Python funktionieren.
Der richtige Weg, dies zu tun, besteht darin, den Python als alternative Version zu installieren.
Auf diese Weise funktionieren die vorhandenen Skripte wie yum immer noch mit / usr / bin / python. und Ihre Standard-Python-Version ist die in / usr / local / bin installierte. dh wenn Sie Python eingeben, erhalten Sie 2.7.3
Das passiert weil. Die Variable $ PATH hat / usr / local / bin vor usr / bin.
Wenn python2.7 immer noch nicht als Standard-Python-Version wirksam wird, müssten Sie dies tun
quelle
Ich denke, Sie haben die 2.7-Version manuell installiert, während 2.6 aus einem Paket stammt?
Die einfache Antwort lautet: Deinstallieren Sie das Python-Paket.
Das komplexere ist: Nicht manuell in / usr / local installieren. Erstellen Sie ein Paket mit der Version 2.7 und aktualisieren Sie es anschließend.
Die Paketverarbeitung hängt davon ab, welche Distribution Sie verwenden.
quelle