Ich benutze Ubuntu 16.04 LTS. Ich habe python3
installiert. Es sind zwei Versionen installiert, python 3.4.3
und python 3.6
. Wann immer ich einen python3
Befehl verwende, dauert dies python 3.4.3
standardmäßig. Ich möchte verwenden python 3.6
mit python3
.
python3 --version
zeigt an version 3.4.3
Ich installiere ansible
welche unterstützt version > 3.5
. Also, wann immer ich ansible in das Terminal tippe, wirft es Fehler wegenpython 3.4
sudo update-alternatives --config python3
?Antworten:
Aus dem Kommentar:
Zeigt einen Fehler an:
Sie müssen Ihre aktualisieren
update-alternatives
, dann können Sie Ihre Standard-Python-Version festlegen.Dann renne :
Setze python3.6 als Standard.
Oder verwenden Sie den folgenden Befehl, um python3.6 als Standard festzulegen:
quelle
apt
. Versuchen Sie nach der Auswahl einer anderen Version von Python auszuführensudo apt update
. Wenn es einen Fehler gibt , wieModuleNotFoundError: No module named 'apt_pkg'
wollen Sie gehen/usr/lib/python3/dist-packages
und den Symlink zu erstellen:ln -s apt_pkg.cpython-{34m,36m}-x86_64-linux-gnu.so
.$ sudo update-alternatives --set python /usr/bin/python3.6 update-alternatives: error: no alternatives for python
Irgendwelche Vorschläge?python3
Punktpython3.8
mit dieser Methode brachgnome-terminal
für mich.Sie können dies erreichen, indem Sie die folgenden einfachen Schritte ausführen:
python --version
sudo su
update-alternatives --install /usr/bin/python python /usr/bin/python3 1
python --version
quelle
Erstellen Sie einen Symlink für / usr / bin / python3. In meiner LinuxMint:
quelle
Die Verwendung dieser Befehle kann Ihnen helfen:
ls /usr/bin/python*
alias python='/usr/bin/pythonxx'
. ~/.bashrc
python --version
quelle
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 Ihr Terminal und öffnen Sie eine neue. Wenn Sie jetzt tippen, wirdpython3 xxx
es in übersetztpython3.6 xxx
.Diese Lösung behebt Ihr Problem, ohne dass Sie Ihr System zu stark anpassen müssen.
EDIT:
Wie Mikael Kjær betonte, ist dies eine Fehlkonfiguration von Ansible mit Ihrem System.
Wie hier zu sehen :
Wie hier über die Konfigurationsdatei gesehen:
quelle
ansible_python_interpreter
Variable für die Verwendung von Python 3.6 festlegen. docs.ansible.com/ansible/latest/python_3_support.htmlWenn Sie mehrere Python-Versionen in Ihrem System haben. Sie müssen nur den symbolischen Link von Python im Inneren aktualisieren
/usr/bin/
Wenn Sie im obigen Beispiel die Ausgabe von sehen, erhalten
python --version
Sie python2.7Aktualisieren Sie nun den Python-Symlink mit dem folgenden Befehl:
quelle
update-alternatives besteht darin, die System-Symlinks in benutzerdefinierte / admin-definierte Symlinks zu ändern. Wenn Sie mehrere Versionen von Python3 auf Ihrem System installiert haben und steuern möchten, welche Python3-Version aufgerufen werden soll, wenn Python3 aufgerufen wird. Mach Folgendes
Führen Sie den folgenden Befehl aus, wenn Sie die Priorität in Zukunft ändern möchten.
Erläuterung:-
Sie können weiterhin name_of_config in python4 ändern, müssen dann aber update-alternatives --config mit python4 aufrufen, um die Konfiguration zu ändern.
Mit diesem Ansatz können Sie die System-Python-Version und die Python3-Version getrennt steuern.
quelle
die erste Prüfung machen Sie Python3.6-Ordner
ls /usr/bin/python3.6
wenn du einen ordner wie python3.6 hast gut zu gehen
dann update-alternatives
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
Aktualisiere jetzt die neue Konfiguration für python3
sudo update-alternatives --config python3
Überprüfen Sie die Python-Version
python3 --version
quelle
Sie können die simbolic Verbindung durch nach
ln -sf python3.6 python3
innen ändern/usr/bin
. Wenn Sie dies aufrufenpython3
, wird es ausgeführtpython3.6
quelle