Comment installer Python 3.6 en utilisant apt-get?

363

J'ai essayé de la manière habituelle sudo apt-get install python3.6, mais ... eh bien ... ça n'a pas marché.

Alors, comment pourrais-je m'y prendre? (Je préférerais ne pas le construire moi-même)

J'utilise Ubuntu 16.04.

Olian04
la source
5
Peut-être que python 3.6 n'est pas disponible pour votre distribution. Si vous avez installé aptitude, exécutezaptitude search python3
ridgy

Réponses:

525

Ubuntu 14.04 (Trusty), 16.04 (Xenial)

Si vous utilisez Ubuntu 14.04 ou 16.04, vous pouvez utiliser le PPA deadsnakes de Felix Krull à l' adresse https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa :

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

Vous pouvez également utiliser le PPA de J Fernyhough à l' adresse https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 :

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6

Ubuntu 16.10, 17.04

Si vous utilisez Ubuntu 16.10 ou 17.04, alors Python 3.6 est dans le référentiel de l'univers, vous pouvez donc simplement exécuter:

sudo apt-get update
sudo apt-get install python3.6

Après installation pour Ubuntu 14.04, 16.04, 16.10 et 17.04

Pour appeler l'interpréteur Python 3.6, exécutez python3.6.

Ubuntu 17.10 et 18.04 (Bionic)

Ubuntu 17.10 et 18.04 sont déjà livrés avec Python 3.6 par défaut. Il suffit de courir python3pour l'invoquer.

edwinksl
la source
5
Notez que python3.6 dans Ubuntu 16.10 est une version bêta qui pose certains problèmes (comme une fuite de mémoire très douloureuse dictqui apparaît dans de rares circonstances).
Marius Gedminas
102
ATTENTION - Ne soyez en aucun cas tenté de courirsudo apt remove python3.5ou quoi que ce soit du genre; Python est plus fondamentalement cuit dans Ubuntu que vous ne le pensez, et vous pourriez casser votre installation Ubuntu. Si vous voulezpython3mapper surpython3.6, créez un lien symbolique à la place!
Huw Walters
19
Je vois qu’il n’ya pas de python3.6-pippaquet, et j’avais l'habitude curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6de l'installer pip.
Acumenus
5
D'une manière ou d'une autre, python ppa:jonathonf/python-3.6est arrivé avec un pip cassé et pas de easy_install le 14.04. Cependant, j'ai réussi à résoudre ce problème en installant easy_install, puis en réinstallant pip via curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pipJust au cas où quelqu'un rencontrerait le même problème ...
FirefoxMetzger
6
Comme certains des commentateurs ci-dessus, j'ai également eu du mal pipà installer ppa:jonathonf/python-3.6. D'autre part, a ppa:deadsnakes/ppafonctionné parfaitement ( apt-get install python3.6 python3.6-venv -y).
Michael Herrmann
133

Je recommanderais Pyenv pour résoudre vos problèmes. Il n'utilise Aptitudes et n'implique « construire vous - même », mais il est entièrement automatisé . Vous pouvez créer et installer une nouvelle (ou une ancienne) version de Python simplement en disant . Tout fonctionne en tant qu'utilisateur, vous n'avez donc pas à vous soucier de modifier le Python utilisé par Ubuntu.pyenv install 3.6.0

De plus, la réponse à la question suivante "Comment installer Python 3.7 en utilisant apt-get?" a la même réponse: pyenv update; pyenv install 3.7.0. Cela fonctionnera généralement le même jour d’une publication car il n’est pas nécessaire d’attendre que quelqu'un d'autre la compresse pour Ubuntu. Voir toutes les versions que vous pouvez installer avecpyenv install --list

Installer pyenv

  1. Installez les outils et les en-têtes nécessaires à la construction de CPythons (des Pythons exotiques comme PyPy ou Jython peuvent avoir d'autres dépendances). Pyitv utilise Git, qui permet également de créer / installer des branches sources, ce qui vous permet d’installer tout ce que fait actuellement la version 3.8, c’est-à-dire la branche principale de CPython fraîchement sortie de GitHub:

    sudo apt-get install -y git
    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev \
                            libffi-dev libsqlite3-dev tk-dev
    
    # optional scientific package headers (for Numpy, Matplotlib, SciPy, etc.)
    sudo apt-get install -y libpng-dev libfreetype6-dev    
  2. Exécutez le script du programme d’installation (installe pyenv et quelques très utiles plugins pyenv de l’auteur original; voir ici pour en savoir plus)

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  3. Ajoutez les lignes init à votre ~/.profileou ~/.bashrc(il est mentionné à la fin du script d’installation):

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
  4. Redémarrez votre shell (close & open ou exec $SHELL) ou rechargez le script de profil. (avec par exemple source ~/.bashrc)

Terminé!

Mise en place d'un environnement

Pour ne pas toucher au système Python (généralement une mauvaise idée; les services au niveau du système d'exploitation peuvent s'appuyer sur des versions de bibliothèque spécifiques, etc.), créez votre propre environnement, rien de plus! Mieux encore, non sudo, pour ou pipinstalle!

  1. Installez votre version Python préférée (cela téléchargera la source et la construira pour votre utilisateur, aucune entrée requise)

    pyenv install 3.6.0
  2. Faites-en un virtualenv afin que vous puissiez faire les autres plus tard si vous voulez

    pyenv virtualenv 3.6.0 general
  3. Faites-le actif globalement (pour votre utilisateur)

    pyenv global general
  4. Faites ce que vous voulez avec Python / pip, etc. C'est à vous.

Si vous souhaitez nettoyer vos bibliothèques ultérieurement, vous pouvez supprimer virtualenv ( pyenv uninstall general) ou en créer un nouveau ( pyenv virtualenv 3.6.0 other_proj). Vous pouvez également avoir des environnements actifs par répertoire: pyenv local other_projdéposez un .python-versionfichier dans votre dossier actuel et, chaque fois que vous appelez des utilitaires Python ou Python installés par pip, sous ou hors de celui-ci, ils seront compressés par pyenv.

Dépannage

  • bash: pyenv: command not found, fish: Unknown command 'pyenv'

    1. Vérifiez votre $PATH, il devrait y avoir une entrée qui se termine par quelque chose comme .pyenv/bin. S'il est manquant, assurez-vous de suivre N ° 3 ET N ° 4 (redémarrez votre shell) sous Installer pyenv ci-dessus.
  • pyenv: no such command 'virtualenv'

    1. Si vous n'avez pas utilisé le script du programme d'installation, vous n'avez probablement installé que le package racine pyenv. Voir pyenv-virtualenv pour des instructions sur l'ajout du plugin.
    2. Si vous avez utilisé le script d'installation, vérifiez s'il apparaît avec pyenv commands.
Nick T
la source
1
Il y a un inconvénient, lorsque vous utilisez pyenv avec Python 2.x (ou de très anciennes versions 3.x avant la nouvelle représentation interne de la chaîne Unicode): pyenv utilise les indicateurs de compilation en amont par défaut et les construit avec des chaînes Unicode 16 bits. Les distributions Linux sont généralement construites avec des chaînes Unicode 32 bits. Cela provoque des douleurs lorsque vous installez quelques éléments dans les Pythons pyenv et non pyenv, à cause de la mise en cache de la roue pip.
Marius Gedminas
@marius pourquoi voudriez-vous utiliser une version non-pyenv après l'avoir installée?
Nick T
3
Je ne sais pas, mais j'ai découvert ce problème en aidant quelqu'un sur IRC à déboguer un problème où un paquet Python particulier (lxml?) Ne fonctionnait pas. Donc, dans la pratique, cela se produit pour certaines personnes et vaut la peine d’être connu. (La solution de contournement est rm -r ~/.cache/pip/wheels/.)
Marius Gedminas
1
Faut- pyenvil installer pour chaque utilisateur ayant besoin de Python? Et si j'ai 3 utilisateurs qui ont besoin de la même version de Python 3.6, alors il faudra le compiler 3 fois et cela prendra 3 fois plus d'espace disque? Si c'est vrai, alors ça craint…: /
Sarge Borsch
1
@SargeBorsch par défaut (si vous utilisez pyenv-installer), il s'agit d'une installation par l'utilisateur, mais rien ne vous empêche de l'installer sur /optquoi que ce soit et d'ajouter des liens symboliques à /bin. Je trouve que seul l'utilisateur est extrêmement utile; les utilisateurs n'ont pas besoin de sudo (autre que libs). L'espace disque est bon marché.
Nick T
14

Cela dépend de la version d'Ubuntu que vous utilisez.

Ubuntu 16.10 et Ubuntu 17.04

Python 3.6 étant installé dans le référentiel des univers Ubuntu 16.10 et Ubuntu 17.04, vous pouvez directement installer Python 3.6 à partir du référentiel. Utilisez simplement les commandes ci-dessous:

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

Il y a deux façons d'installer Python3.6 sur Ubuntu 16.04

  • Compiler et installer Python 3.6 sur Ubuntu 16.04
  • Installer python 3.6 sur Ubuntu 16.04 à partir de PPA

1. Compiler et installer Python 3.6 sur Ubuntu 16.04

Installez les dépendances nécessaires, téléchargez le code source de Python 3.6, créez l'environnement et installez

sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
tar xvf Python-3.6.0.tar.xz
cd Python-3.6.0/
./configure
sudo make altinstall

2. Installer Python 3.6 sur Ubuntu 16.04 à partir de PPA

Vous pouvez installer Python 3.6 à partir de PPA en utilisant les commandes ci-dessous.

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt update
sudo apt install python3.6

Si Python 3.6 est correctement installé, vous pouvez appeler l'interpréteur python en s'exécutant python3.6dans le terminal.

J'espère que ça aide. Si vous rencontrez des problèmes, vous pouvez consulter ce blog ici .

Aryal Bibek
la source
2
Ceci est essentiellement une copie de la réponse acceptée. Où est la valeur ajoutée de votre réponse?
Marc Vanhoomissen
2
La première étape de la version Ubuntu 16.04 s’adresse à ceux qui souhaitent compiler et installer Python 3.6 pour une raison quelconque. Le processus de compilation et d'installation de Python 3.6 sur Ubuntu 16.04 n'est pas disponible dans la réponse acceptée ni dans le fil de discussion. Les autres points sont de clarifier la version d'Ubuntu et en quoi elle diffère des autres réponses acceptées.
Aryal Bibek
1
PPA installe le 16.04 (Mint) semble cassé. L'installation à partir d'informations source est utile.
hérisson dément
13

Si vous ne trouvez pas de système de pension en état de marche, vous pouvez également essayer de vous compiler à partir des sources. Vous pouvez trouver le code source sur la page de téléchargement . Ensuite, téléchargez et décompressez l'archive. par exemple pour Python-3.6.1.tgz.

Le processus de suppression du fichier tgz est le suivant:

tar -xvzf /path/to/yourfile.tgz

Une fois que vous êtes dans le chemin du fichier dans lequel le fichier a été décompressé, exécutez:

./configure
make
make altinstall

Et j'espère que cela devrait résoudre le problème pour vous.

Juste à temps Berlake
la source
4
La question dit (id preferably not build it on my own). Peut-être vaudrait-il mieux emprunter la aptroute si possible.
TheWanderer
Ok, je vais voir si je peux trouver des dépôts alternatifs pour vous. Avez-vous eu l'occasion de rechercher sur Google des solutions de rechange pour vous-même? Je ne veux pas suggérer des choses que vous avez déjà essayées.
Just In Time Berlake
Je ne suis pas l'OP. Je fais juste une suggestion. Je ne pouvais pas trouver de PPA pour 3.6, donc la construction pourrait être la voie nécessaire. Cependant, vous devriez probablement en parler dans votre réponse.
TheWanderer
Vos commandes make échoueront sur un système sur lequel l'utilisateur n'a jamais rien construit, car de nombreux packages sont requis. "sudo apt build-essential installer libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev"
Joe
4

Pour Ubuntu 15.10, je l'ai installé avec succès en utilisant cette méthode:

sudo add-apt-repository ppa:jonathonf/python-3.6

Mais j'ai édité ce fichier:

sudo vi /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-wily.list

Et j'ai changé de rusé en fidèle , puis:

sudo apt-get update
sudo apt-get install python3.6
hassan ketabi
la source
12
Ubuntu 15.10? Il a disparu depuis plusieurs mois. Temps de mise à niveau.
Edwinksl
0

Tout d’abord, suivez certaines des autres réponses pour installer Python 3.6 ou 3.7. , Si vous voulez ensuite installer des paquets PyPI tels que OpenEXR par pipvous pouvez obtenir des erreurs. Certains d'entre eux (par exemple pour le package PyPi d'OpenEXR) peuvent être résolus en installant le package de développement Python pour votre Python nouvellement installé. Cela peut être fait en utilisant les éléments suivants:

sudo apt-get install python3.6-dev

ou

sudo apt-get install python3.7-dev

Amir
la source
0

Peut-être suggérer que Conda n'est pas une mauvaise idée. Je pense que c'est au moins plus facile que d'utiliser pyenv. Cela dépend peut-être de ce que vous avez l'intention de faire avec Python après tout, car je pense qu'avec Conda, vous pourriez vous retrouver avec des paquets supplémentaires.

EDIT : Il est probablement utile de mentionner qu’après avoir installé la version par défaut de Conda en Python, vous pouvez installer la version dont vous avez besoin, ici 3.6, en utilisant condacomme

conda install python==3.6
ArsaKasra
la source