J'utilise Ubuntu 16.04 LTS. J'ai python3
installé. Il y a deux versions installées, python 3.4.3
et python 3.6
. Chaque fois que j'utilise une python3
commande, cela prend python 3.4.3
par défaut. Je veux utiliser python 3.6
avec python3
.
python3 --version
montre version 3.4.3
Je suis en train d'installer ansible
qui prend en charge version > 3.5
. Donc, chaque fois que je tape ansible dans le terminal, il génère une erreur en raison depython 3.4
sudo update-alternatives --config python3
dis?Réponses:
Du commentaire:
Va vous montrer une erreur:
Vous devez mettre à jour votre
update-alternatives
, vous pourrez alors définir votre version python par défaut.Puis lancez:
Définissez python3.6 par défaut.
Ou utilisez la commande suivante pour définir python3.6 par défaut:
la source
apt
. Après avoir sélectionné une version différente de Python, essayez de lancersudo apt update
. Si cela vous donne une erreur commeModuleNotFoundError: No module named 'apt_pkg'
vous voulez aller/usr/lib/python3/dist-packages
et créer le lien symbolique: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
Des suggestions?python3
remarquer àpython3.8
avec cette méthode a casségnome-terminal
pour moi.Vous pouvez y parvenir en appliquant ci-dessous des étapes simples -
python --version
sudo su
update-alternatives --install /usr/bin/python python /usr/bin/python3 1
python --version
la source
L'utilisation de ces commandes peut vous aider à:
ls /usr/bin/python*
alias python='/usr/bin/pythonxx'
. ~/.bashrc
python --version
la source
Créez un lien symbolique pour / usr / bin / python3. Dans mon LinuxMint:
la source
Une réponse simple consisterait à ajouter un alias pour python3.6.
Ajoutez simplement cette ligne dans le fichier ~ / .bashrc:,
alias python3="python3.6"
puis fermez votre terminal et ouvrez-en un nouveau. Maintenant, lorsque vous tapez,python3 xxx
il est traduit enpython3.6 xxx
.Cette solution résout votre problème sans avoir à modifier trop votre système.
MODIFIER :
Comme Mikael Kjær l'a souligné, il s'agit d'une mauvaise configuration de ansible avec votre système.
Comme vu ici:
Comme on le voit ici à propos du fichier de configuration:
la source
ansible_python_interpreter
variable pour utiliser votre python3.6. docs.ansible.com/ansible/latest/python_3_support.htmlsi vous avez plusieurs versions de python dans votre système. Il vous suffit de mettre à jour le lien symbolique de python à l'intérieur
/usr/bin/
Dans l'exemple ci-dessus, si vous voyez le résultat,
python --version
vous obtiendrez python2.7Maintenant, mettez à jour le lien symbolique python en utilisant la commande ci-dessous.
la source
update-alternatives consiste à changer les liens symboliques du système en liens symboliques définis par l'utilisateur / définis par l'administrateur. Si vous avez plusieurs versions de python3 installées sur votre système et souhaitez contrôler la version de python3 à appeler lorsque python3 est appelé. Faire ce qui suit
Exécutez la commande ci-dessous si vous souhaitez modifier la priorité à l'avenir.
Explication:-
Vous pouvez continuer à changer name_of_config en python4, mais vous devez ensuite appeler update-alternatives --config avec python4 pour reconfigurer.
En utilisant cette approche, vous pouvez contrôler séparément la version du système et la version de python3.
la source
la première vérification faites-vous dossier python3.6
ls /usr/bin/python3.6
si vous avez un dossier comme python3.6 bon aller
puis update-alternatives
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
met à jour maintenant la nouvelle configuration pour python3
sudo update-alternatives --config python3
vérifier la version de python
python3 --version
la source
Vous pouvez modifier le lien symbolique par l'
ln -sf python3.6 python3
intérieur/usr/bin
. Avec cela quand vous appelezpython3
il s'exécuterapython3.6
la source