it-swarm.com.de

Ändern Sie die Python3-Standardversion in Ubuntu

Ich benutze Ubuntu 16.04 LTS. Ich habe python3 Installiert. Es sind zwei Versionen installiert, python 3.4.3 Und python 3.6. Immer wenn ich den Befehl python3 Benutze, wird standardmäßig python 3.4.3 Verwendet. Ich möchte python 3.6 Mit python3 Verwenden.

python3 --version Zeigt version 3.4.3

Ich installiere ansible, das version > 3.5 Unterstützt. Wenn ich also ansible in das Terminal eingebe, wird aufgrund von python 3.4 Ein Fehler ausgegeben.

123
codeclue

Aus dem Kommentar:

Sudo update-alternatives --config python

Zeigt Ihnen einen Fehler:

update-alternatives: error: no alternatives for python3 

Sie müssen Ihren update-alternatives Aktualisieren, dann können Sie Ihre Standardversion python) festlegen.

Sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1
Sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2

Dann renne :

Sudo update-alternatives --config python

Stellen Sie python3.6 als Standard ein.

Oder verwenden Sie den folgenden Befehl, um python3.6 als Standard festzulegen:

Sudo update-alternatives  --set python /usr/bin/python3.6
173
GAD3R

Sie können dies erreichen, indem Sie die folgenden einfachen Schritte ausführen:

  1. Überprüfen Sie python Version auf Terminal - python --version
  2. Holen Sie sich Root-Benutzerrechte. Am Terminaltyp - Sudo su
  3. Notieren Sie sich das Passwort des Root-Benutzers
  4. Führen Sie diesen Befehl aus, um zu python 3.6 -
    update-alternatives --install /usr/bin/python python /usr/bin/python3 1
  5. Überprüfen Sie python Version - python --version
  6. Erledigt.
21
Vineet Jain

Die Verwendung dieser Befehle kann Ihnen helfen:

  1. überprüfen Sie die Version von Python: ls /usr/bin/python*
  2. alias: alias python='/usr/bin/pythonxx' (füge dies zu . ~/.bashrc hinzu)
  3. erneut anmelden oder Quelle . ~/.bashrc
  4. überprüfen Sie die python Version erneut: python --version
12
Newt

Erstellen Sie einen Symlink für/usr/bin/python3. In meiner LinuxMint:

# ls -lh /usr/bin/python3 /usr/bin/python
lrwxrwxrwx 1 root root 9 ноя 24  2017 /usr/bin/python -> python2.7
lrwxrwxrwx 1 root root 9 сен  6  2017 /usr/bin/python3 -> python3.5

# mv /usr/bin/python /usr/bin/python.bak
# cp /usr/bin/python3 /usr/bin/python
# python --version
Python 3.5.2
6
nabi sheyhov

Eine einfache Antwort wäre, einen Alias ​​für Python3.6 hinzuzufügen.

Fügen Sie einfach diese Zeile in die Datei ~/.bashrc ein: alias python3="python3.6", schließen Sie dann Ihr Terminal und öffnen Sie ein neues. Wenn Sie jetzt python3 xxx es wird übersetzt in python3.6 xxx.

Diese Lösung behebt Ihr Problem, ohne dass Sie Ihr System zu stark optimieren müssen.

BEARBEITEN:

Wie Mikael Kjær hervorhob, ist dies eine Fehlkonfiguration von ansible mit Ihrem System.

Wie gesehen hier :

Stellen Sie die ansible_python_interpreter Konfigurationsoption für/usr/bin/python3. Die Konfigurationsoption ansible_python_interpreter wird normalerweise pro Host als Inventarvariable festgelegt, die einem Host oder einer Gruppe von Hosts zugeordnet ist:

  # Example inventory that makes an alias for localhost that uses python3
  [py3-hosts]
  localhost-py3 ansible_Host=localhost ansible_connection=local

  [py3-hosts:vars]
  ansible_python_interpreter=/usr/bin/python3

Wie zu sehen hier über die Konfigurationsdatei:

Änderungen können vorgenommen und in einer Konfigurationsdatei verwendet werden, die in der folgenden Reihenfolge verarbeitet wird:

* ANSIBLE_CONFIG (an environment variable)
* ansible.cfg (in the current directory)
* .ansible.cfg (in the home directory)
* /etc/ansible/ansible.cfg
4
user264413

wenn Sie mehrere Versionen von python in Ihrem System haben. Sie müssen nur den symbolischen Link von python in /usr/bin/ aktualisieren).

[email protected]:/usr/bin# ls -lrth python*
lrwxrwxrwx 1 root root    9 Apr 16  2018 python -> python2.7
-rwxr-xr-x 1 root root 3.6M Nov 12  2018 python2.7
-rwxr-xr-x 2 root root 4.4M May  7 14:58 python3.6

Wenn Sie im obigen Beispiel die Ausgabe von python --version Sehen, erhalten Sie python2.7

Aktualisieren Sie nun den python Symlink mit dem folgenden Befehl:

[email protected]:/usr/bin# unlink python
[email protected]:/usr/bin# ln -s /usr/bin/python3.6 python
[email protected]:/usr/bin# python --version
Python 3.6.8
3
IRSHAD

bei der ersten Überprüfung wird der Ordner python3.6 überprüft

ls /usr/bin/python3.6

wenn Sie einen Ordner wie Python3.6 haben, können Sie loslegen

dann Update-Alternativen

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

aktualisieren Sie jetzt die neue Konfiguration für Python3

Sudo update-alternatives --config python3

check python Version

python3 --version

2
mmblack

terminal öffnen und eingeben: gedit ~/.bashrc und füge die folgende Zeile hinzu:

alias python=python3.x

dabei ist x Ihre python Version.

Viel Spaß beim Codieren.

1

Sie können den symbolischen Link durch ln -sf python3.6 python3 In /usr/bin Ändern. Wenn Sie python3 Aufrufen, wird python3.6 Ausgeführt.

1
SPAWN35

update-Alternativen bestehen darin, Systemsymlinks in benutzerdefinierte/vom Administrator definierte Symlinks zu ändern. Wenn Sie mehrere Versionen von Python3 auf Ihrem System installiert haben und steuern möchten, welche Python3-Version beim Aufruf von Python3 aufgerufen werden soll. Mach Folgendes

Sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.4 1
Sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 2

Führen Sie den folgenden Befehl aus, wenn Sie die Priorität in Zukunft ändern möchten.

update-alternatives --config python3

Erläuterung:-

Sudo update-alternatives --install <symlink_Origin> <name_of_config> <symlink_destination> <priority>

Sie können name_of_config weiterhin in python4 ändern, müssen dann jedoch die Update-Alternativen --config mit python4 aufrufen, um sie neu zu konfigurieren.

Mit diesem Ansatz können Sie das System python Version und Python3 Version separat steuern).

0
wittyurchin