192 votes

Comment installer une version différente de Python à l'aide d'apt-get ?

Comment puis-je installer une version différente de Python en utilisant apt-get ?

Je réalise évidemment que je peux installer en utilisant la boule de tar source, mais je préférerais ne pas installer à partir de la source et utiliser plutôt le gestionnaire de paquets, car c'est pour cela qu'il est là. Il y a sûrement un endroit réputé qui construit des fichiers .deb pour les dernières versions de Python (je ne comprends pas pourquoi Python.org ne le fait pas) que je peux référencer.

Que dois-je faire pour les référencer et quels problèmes cela pourrait-il créer lors de la mise à niveau vers la prochaine version ?

S'il n'y a pas d'autre moyen que de construire à partir des sources, existe-t-il un (pseudo) paquet que je peux installer et qui fournira toutes les dépendances nécessaires sans avoir à les trouver et à les installer individuellement ? Pour que je n'aie pas à le faire :

The necessary bits to build these optional modules were not found:
_bz2                  _curses               _curses_panel      
_dbm                  _gdbm                 _lzma              
_sqlite3              _ssl                  _tkinter           
readline              zlib

2voto

Elder Geek Points 34144

Il existe un certain nombre de distributions Python plus récentes que l'on peut installer via apt-get et qui sont répertoriées dans la liste suivante Paquets Ubuntu

à titre d'exemple, les versions suivantes sont actuellement disponibles :

python2.7

python3.2

python3.4

python3.5

python3.6

La disponibilité varie selon la version d'Ubuntu dans une certaine mesure. Par exemple, la version 3.5 est disponible pour Xenial, Yakkety et Zesty et la version 3.6 est disponible pour Yakkety et Zesty mais vous devez activer l'option Dépôt de l'univers s'il n'est pas activé pour les obtenir via apt-get. Pour vérifier la disponibilité pour votre version d'Ubuntu, consultez les liens ci-dessus.

Un coup d'œil rapide indique que cette réponse est également toujours valable car ce PPA a 3.6 même pour Trusty.

0voto

devrimbaris Points 221

J'envisagerais d'utiliser des environnements virtuels au lieu d'installer des versions de Python via apt-get.

Utilisation d'environnements virtuels, voir ici, sont une bonne pratique pour développer avec Python. Elles vous permettent d'isoler votre environnement Python des versions de Python installées par le système.

De plus, vous n'avez pas besoin d'obtenir un accès sudo lors de l'installation d'une bibliothèque (via pip, etc.).

0voto

RobotHumans Points 27764

Conda est activement mis à jour et vous permet d'installer plusieurs versions de Python dans des venvs gérés sans avoir à tout configurer vous-même. Les problèmes de cheminement des extensions binaires ont peut-être été résolus dans de nombreuses chaînes de dépendances/pip gérées par anaconda qu'il utilise.

0voto

tanius Points 5309

Il s'agit d'un mise à jour a La réponse de Nephente (c'est-à-dire les mieux classés) en 2019-10 (avec des extraits utilisés sous CC BY-SA 4.0) :

Felix Krull gère un PPA offrant de nombreuses versions de Python pour de nombreuses versions d'Ubuntu à l'adresse suivante https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa . Toutes les combinaisons ne sont cependant pas supportées. Si la combinaison que vous souhaitez n'est pas prise en charge, mais que la version de Python que vous souhaitez est disponible dans une ancienne version d'Ubuntu, vous pouvez souvent l'installer comme suit (ici pour l'exemple de Python 3.5) :

sudo add-apt-repository "deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install python3.5 python3.5-venv

Il n'écrasera pas votre Python 3.x existant, qui est toujours lié par un lien symbolique en tant que python3 après. Le hack pour installer les paquets d'une ancienne version d'Ubuntu est le suivant d'ici . Je viens de l'utiliser pour installer Python 3.5 sous Ubuntu 19.04.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X