Comment puis-je installer une version différente de Python en utilisant apt-get?
Bien entendu, je me rends compte que je peux l’installer à l’aide de la source tar, mais je préférerais ne pas l’installer à partir de la source et utiliser plutôt le gestionnaire de paquets, car c’est pour cela qu’il est. Sûrement, quelque part, des fichiers .deb réputés sont construits pour les dernières versions de Python (pourquoi python.org ne me dépasse pas) que je peux référencer.
Que dois-je faire pour les référencer et quels problèmes pourrait-il créer lors de la mise à niveau vers la version suivante?
S'il n'y a pas d'autre moyen que de compiler à partir des sources, y a-t-il un (pseudo) paquet que je puisse installer qui fournisse toutes les dépendances nécessaires sans devoir rechercher et installer chacun individuellement? Pour que je ne reçoive pas:
The necessary bits to build these optional modules were not found:
_bz2 _curses _curses_panel
_dbm _gdbm _lzma
_sqlite3 _ssl _tkinter
readline zlib
E: Couldn't find any package by regex 'python3.5'
et donc échoué à installer viaapt-get install python3.5
?Réponses:
Felix Krull gère une PPA offrant pratiquement n'importe quelle version de Python (sérieusement, il existe une version 2.3.7 pour les couleurs vives ...) de nombreuses versions d'Ubuntu à l' adresse https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa .
Faites comme d'habitude:
Cela
python3.4
n'écrasera pas votre existant qui est toujours lié symboliquementpython3
.NE PAS changer le lien symbolique! Apparemment, de nombreuses fonctions système ne fonctionnent pas correctement avec python3.5.
J'ai essayé cela et par la suite je n'ai pas pu ouvrir un terminal, un programme de mise à jour logicielle, ...
La mise à niveau vers Wily adaptera le méta-package auquel
python3
pointerpython3.5
. Je ne m'attends pas à une casse, mais à ce stade, le référentiel étranger n'est plus nécessaire. Donc, pour être vraiment en sécurité, vous pouvez purger le PPA avant d'effectuer la mise à niveau.la source
wget https://bootstrap.pypa.io/get-pip.py; sudo python3.5 get-pip.py
m'ont fourni un pip fonctionnel pour Python 3.5, mais pip3.4 ne fonctionne plus. Si quelqu'un sait mieux, veuillez commenter~$ vim ~/.bashrc
et ajoutez-lealias python=python3.5
. alors~$source ~/.bashrc
add-apt-repository: command not found
, lancezapt-get install software-properties-common python-software-properties
pour installerCe lien sur Youtube m'a aidé à l'installer.
Les étapes sont les suivantes:
Pour vérifier si python est installé, tapez
python3.5
sinon:la source
./configure --enable-optimizations
stackoverflow.com/questions/41405728/…apt-get install build-essential
Il suffit de suivre ces étapes (testées):
Étape 1 - Installation des packages requis
Utilisez la commande suivante pour installer les éléments prérequis pour Python avant de l’installer.
Étape 2 - Téléchargez Python 3.5.2
Téléchargez Python en utilisant la commande suivante depuis le site officiel de Python. Vous pouvez également télécharger la dernière version à la place de celle spécifiée ci-dessous.
Maintenant, extrayez le paquet téléchargé.
Étape 3 - Compiler la source Python
Utilisez le jeu de commandes ci-dessous pour compiler le code source Python sur votre système à l’aide de altinstall.
make altinstall
est utilisé pour empêcher le remplacement du fichier binaire python par défaut/usr/bin/python
.Étape 4 - Vérifiez la version Python
Vérifiez la dernière version installée de python en utilisant la commande ci-dessous.
Source .
la source
sudo apt-get install libffi-dev
pour la résoudre.sudo apt-get install liblzma-dev
pour activer le support de lzma.Autant que je sache, au moins dans un conteneur Docker, on peut définitivement
apt-get
utiliser Python 3.J'ai d'abord rencontré un conteneur Ubuntu avec conteneur:
puis, pour une raison quelconque, il fallait mettre à jour certains éléments d'ubuntu, ce que j'ai fait (à l'intérieur du conteneur):
et puis j'ai simplement installé python3 et il semble qu'il ait automatiquement obtenu python 3.5:
et pour tester si pip fonctionne, nous pouvons télécharger quelque chose:
tout semble bien fonctionner pour moi.
Remarque importante: il semble que si vous avez déjà installé Python 3.4,
apt-get install python3
cela ne fonctionnera pas, car il indique que vous l'avez déjà. Il semble que cela soit l’un de mes problèmes car je partais d’une image de menu fixe de tensorflow (en particuliergcr.io/tensorflow/tensorflow:latest-devel-py3
) et que quelque chose dans cette image (j’assume qu’ils ont déjà python 3.4 mais c’est peut-être autre chose) ne m’a pas permis de mettre à jour mon python pour obtenir python 3.5.crédit: j'ai découvert cela lorsque j'ai posé la question suivante: https://stackoverflow.com/questions/42122826/can-one-use-python-3-5-in-a-docker-container-based-out-of-the -tensorflow-docker
Note: on peut aussi simplement installer Anaconda. Pour un exemple de docker, on peut faire:
depuis leur site officiel: https://hub.docker.com/r/continuumio/anaconda3/
Cette solution installe Python 3.6, mais je suis sûr que si vous y regardez, vous pouvez obtenir python 3.5 si c'est ce que vous voulez.
Remarque: vous devriez probablement utiliser un environnement virtuel comme env virtuel ou conda / anaconda, sauf si vous utilisez docker de toute façon. Je voulais juste rappeler aux gens.
la source
Un certain nombre de nouvelles distributions python disponibles à installer via apt-get sont répertoriées dans les packages Ubuntu.
à titre d'exemple, les versions suivantes sont actuellement disponibles:
python2.7
python3.2
python3.4
python3.5
python3.6
La disponibilité varie avec la version Ubuntu dans une certaine mesure. Par exemple, 3.5 est disponible pour Xenial, Yakkety et Zesty et 3.6 pour Yakkety et Zesty, mais vous devez activer le référentiel Univers s'il n'est pas activé pour les obtenir via apt-get. Pour vérifier la disponibilité de votre version d'Ubuntu, consultez les liens ci-dessus.
Un coup d'œil rapide indique que cette réponse est également valable, car PPA en a 3,6 même pour Trusty.
la source
J'envisagerais d'utiliser des environnements virtuels au lieu d'installer des versions de python via apt-get.
L’utilisation d’environnements virtuels, voir ici, est une bonne pratique de développement avec python. Ils vous permettent d'isoler votre environnement python des versions python installées sur le système.
De plus, vous n'avez pas besoin d'avoir un accès sudo lors de l'installation d'une bibliothèque (via pip, etc.).
la source
virtualenv -p
. Mais cela a explosé avec "ImportError: impossible d'importer le nom 'HTTPSHandler'".Conda est activement mis à jour et vous permet d’installer plusieurs versions de Python dans des environnements gérés sans l’ennui de 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épendance / pip gérées par anaconda qu’il utilise.
la source