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.
Réponses
Trop de publicités?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 lenpm
pour Python. Conseil rapide : essayezpip3 install --user howdoi
(il peut être nécessaire deapt 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 quetox
) pour travailler avec les paquets sources des autres.
Ruby'sbundler
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 simplementrm -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.
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
- Réponses précédentes
- Plus de réponses