103 votes

Mise à jour de Python sur le système Ubuntu

Je veux mettre à jour la version de Python sur ma boîte Linux, mais la seule façon que je connaisse pour le faire est de désinstaller la version actuelle et d'installer la nouvelle. Mon système est déjà à jour (j'ai fait la mise à jour hier). Je voulais savoir s'il existe un moyen de mettre à jour un programme spécifique à partir de la ligne de commande, par exemple sudo apt-get update <program-name> . Je sais que cette commande n'existe pas, mais j'espère que quelque chose d'équivalent existe.

83voto

ulidtko Points 2796

Comme d'autres l'ont déjà fait remarquer, le nu sudo apt-get install package installera la dernière version disponible, en remplaçant l'ancienne si nécessaire.

Mais avec certains logiciels (dont Python), la situation est quelque peu différente. Certaines versions majeures, très différentes et incompatibles entre elles, obtiennent leur propre paquets. Par exemple, Python 2.6 , Python 2.7 , Python 3.1 vivent tous dans des paquets séparés sur Ubuntu.

Le fait que l'une des politiques d'Ubuntu consiste à utiliser largement Python pour l'écriture de logiciels destinés aux utilisateurs finaux revêt une importance particulière. Ainsi, en fait, une grande partie du système でございます écrit en Python. Pour le moment, le code fonctionne avec Python 2.6 - cette version est donc la version par défaut lors de l'installation ; et le code ne le fera pas facilement sur, disons, Python 2.7 - car il existe des incompatibilités. Pour passer le système à Python 2.7, il faut faire un travail, consistant à mettre à jour et re-tester tous les scripts. Cela ne peut pas être fait facilement ; c'est-à-dire que vous ne pouvez pas simplement "basculer" votre système vers Python 2.7 et supprimer l'ancienne version.

Mais si vous ne vous souciez pas des rouages de votre système et que vous avez simplement besoin d'un Python plus récent, ne voyez aucun obstacle. Allez-y et sudo apt-get install python3 et codez bravement pour Python 3.x ; n'oubliez pas de lancer vos scripts avec python3 et utiliser #!/usr/bin/env python3 ligne shebang.


Mise à jour : Je n'arrête pas de voir qu'il y a des votes positifs ; remarquez que il s'agit d'une réponse vieille de 9 ans les choses ont changé.


Ce qu'il faut apprendre ensuite

D'un superutilisateur (pas du point de vue du développeur Python), les prochaines choses que je suggérerais d'apprendre à utiliser :

  • pip / pip3 / python3 -m pip - c'est le npm pour Python. Conseil rapide : essayez pip3 install --user howdoi (il peut être nécessaire de apt install python3-setuptools python3-pip une fois, avant que cela ne fonctionne). Ensuite, par exemple, howdoi --all compile python3 ubuntu .

  • El virtualenv outil. Il est 100% orienté vers les développeurs, mais vous aurez probablement besoin de l'utiliser (peut-être sous quelques wrappers, tels que tox ) pour travailler avec les paquets sources des autres.
    Ruby's bundler ou le bac à sable de Cabal peuvent être des analogues familiers.

  • El conda qui est un dépôt et un installateur de paquets Python totalement distinct (pensez à un fork de PyPi).

Il y a humongous variété d'outils dans l'écosystème Python en 2020. Au minimum, mettez-vous à l'aise avec pip avant d'aller plus loin.

Pièges de base

Pour les courageux mais non avertis, quelques pièges classiques lorsqu'on essaie de configurer manuellement un CPython plus récent sur Ubuntu.

  • Laissez /usr seul ; vous pouvez regarder mais vous ne pouvez pas toucher. Laissez-le à dpkg pour vous éviter toute confusion. Vous avez l'ensemble /usr/local à votre disposition :

    sudo chown -R `whoami` /usr/local
    pip3 install --prefix=/usr/local pydf
  • Compiler CPython à partir des sources est bien expliquée sur le web ; n'oubliez pas votre /usr/local préfixe. C'est la meilleure façon de tester manuellement les patchs et/ou les préversions (ces builds alpha, rc) de CPython lui-même. Pour effacer les artefacts construits, vous pouvez simplement rm -rf /usr/local/*; sudo ldconfig .

  • Trouver un PPA est aussi une option décente ; gardez à l'esprit qu'un PPA est juste la construction privée de quelqu'un d'autre. Recherchez des PPAs crédibles avec CI/CD en cours d'exécution.

21voto

Mrinal Points 319
sudo apt-get install python 3.3.3

ceci est pour Python(3.3.3) pour une version différente, le numéro de version correspondant doit être utilisé.

13voto

G-Ox7cd Points 157
sudo apt-get install python3.6

Ceci installe Python 3 dans linux aux côtés de Python 2. Pour accéder à Python 3, entrez après avoir ouvert le terminal.

python3

5voto

Wuffers Points 18372

Vous êtes proche en pensant à une commande comme sudo apt-get update (qui est une commande réelle, mais qui ne fait pas ce que vous voulez qu'elle fasse).

Pour mettre à jour Python, et tout ce que vous avez installé, il suffit d'exécuter la commande suivante :

sudo apt-get upgrade

3voto

music2myear Points 38573

De notre site frère : https://askubuntu.com/questions/44122/how-to-upgrade-a-single-package-using-apt-get

Chacune de ces commandes met à jour par installation, ce qui devrait fonctionner parfaitement dans de nombreux cas, mais peut ne pas correspondre à ce que vous recherchez dans un cas spécifique.

Si vous voulez seulement mettre à jour un paquet spécifique ET seulement s'il est déjà installé, alors utilisez la commande :

sudo apt-get install --only-upgrade packagename

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