Comment installer Python 3 sur une instance AWS EC2?


124

J'essaie d'installer python 3.x sur une instance AWS EC2 et:

sudo yum install python3

ne fonctionne pas:

No package python3 available.

J'ai cherché sur Google et je ne trouve personne d'autre qui a ce problème, alors je pose la question ici. Dois-je le télécharger et l'installer manuellement?


1
Peut-être que oui, il n'est peut-être pas encore disponible pour Amazon Linux (ou clarifiez si vous utilisez un autre système d'exploitation).
Simeon Visser

duplication possible de l' installation de python3 sur RHEL
BMW

Salut, oui, c'est le système d'exploitation Amazon Linux «standard». Heureux d'installer manuellement mais il manque quelques choses (et j'ai pensé qu'il était préférable de vérifier avant de passer du temps à déconner :)
Jake_Howard

@BMW, la réponse à laquelle vous avez lié a été utile mais pas suffisante pour le faire fonctionner seul.
Jake_Howard

Depuis le dessous AMI change souvent, il peut être utile de vérifier les notes de version pour la machine la plus récente, disponible ici: aws.amazon.com/amazon-linux-ami/#Release_Notes
neige fondante

Réponses:


240

Si vous faites un

sudo yum list | grep python3

vous verrez que même s'ils n'ont pas de package "python3", ils ont un package "python34", ou une version plus récente, telle que "python36". L'installer est aussi simple que:

sudo yum install python34 python34-pip

1
Cela semble être la réponse la plus simple. AWS a-t-il mis à jour ses packages entre le moment où @Jake_Howard a publié une réponse et vous l'avez fait?
Roman

7
Pour utiliser pip3, ajoutez le lien symbolique suivant # ln -s /usr/bin/pip-3.4 / usr / bin / pip3
Ray Vahey

10
sudo yum install python34ne fonctionne pas pour moi. Il ditNo package python34 available.
Sohan Shirodkar

2
@SohanShirodkar vous avez peut - être été malchanceux et vient de prendre une nouvelle version - leur version Septembre a déménagé à python35... voici où vous pouvez voir les nouvelles versions: aws.amazon.com/amazon-linux-ami/#Release_Notes
neige fondante

5
En 2018, sudo yum install python36est également disponible. n'oubliez pas non plus d'installer le dernier pip: python3 -m pip install --user --upgrade pipet ensuite vous pouvez python3 -m pip install --user virtualenvpour un env virtuel. ref: packaging.python.org/guides/installing-using-pip-and-virtualenv
Emmanuel NK

54

Remarque: cela peut être obsolète pour les versions actuelles d'Amazon Linux 2 depuis fin 2018 (voir les commentaires), vous pouvez maintenant l'installer directement via yum install python3.

Dans Amazon Linux 2 , il n'y a pas de python3[4-6]dépôt yum par défaut, mais plutôt la bibliothèque Amazon Extras .

sudo amazon-linux-extras install python3

Si vous souhaitez configurer des environnements virtuels isolés avec lui; l'utilisation yum installdes virtualenvoutils 'd ne semble pas fonctionner de manière fiable.

virtualenv --python=python3 my_venv

L'appel du module / outil venv est moins compliqué, et vous pouvez vérifier que c'est ce que vous voulez / attendez au python3 --versionpréalable.

python3 -m venv my_venv

Autres éléments qu'il peut installer (versions à partir du 18 janvier 18):

[ec2-user@x ~]$ amazon-linux-extras list
  0  ansible2   disabled  [ =2.4.2 ]
  1  emacs   disabled  [ =25.3 ]
  2  memcached1.5   disabled  [ =1.5.1 ]
  3  nginx1.12   disabled  [ =1.12.2 ]
  4  postgresql9.6   disabled  [ =9.6.6 ]
  5  python3=latest  enabled  [ =3.6.2 ]
  6  redis4.0   disabled  [ =4.0.5 ]
  7  R3.4   disabled  [ =3.4.3 ]
  8  rust1   disabled  [ =1.22.1 ]
  9  vim   disabled  [ =8.0 ]
 10  golang1.9   disabled  [ =1.9.2 ]
 11  ruby2.4   disabled  [ =2.4.2 ]
 12  nano   disabled  [ =2.9.1 ]
 13  php7.2   disabled  [ =7.2.0 ]
 14  lamp-mariadb10.2-php7.2   disabled  [ =10.2.10_7.2.0 ]

"Le sujet python3 a la date de fin de support du 22/08/2018" ce n'est plus pris en charge
zenbeni

@zenbeni le système par défaut Python a-t-il été transféré à Python 3?
Nick T

@NickT python3-3.7.2-4.amzn2.0.1.x86_64 est en fait installé via 'yum install python3' vous n'utilisez plus les extras amazon linux pour python
zenbeni

Je ne sais pas pourquoi cela continue de recevoir des votes positifs (4 le mois dernier) s'il est maintenant obsolète.
Nick T

40

Voici les étapes que j'ai utilisées pour installer manuellement python3 pour quiconque souhaite le faire car ce n'est pas très simple. EDIT: Il est presque certainement plus facile d'utiliser le gestionnaire de paquets yum (voir les autres réponses).

Notez que vous voudrez probablement faire sudo yum groupinstall 'Development Tools'avant de faire cela, sinon pip ne sera pas installé.

wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz
tar zxvf Python-3.4.2.tgz
cd Python-3.4.2
sudo yum install gcc
./configure --prefix=/opt/python3
make
sudo yum install openssl-devel
sudo make install
sudo ln -s /opt/python3/bin/python3 /usr/bin/python3
python3 (should start the interpreter if it's worked (quit() to exit)

8
Pour utiliser pip3également le lier avec sudo ln -s /opt/python3/bin/pip3 /usr/bin/pip3.
golmschenk

@xpmatteo - quel bit est faux? Est-ce juste une étape ou une approche à laquelle vous vous opposez?
Jake_Howard

@Jake_Howard Ce n'est pas vrai que le seul moyen est d'installer manuellement Python3. C'est certainement une option, mais vous pouvez également faire yum install python35comme d'autres l'ont mentionné. Si vous voulez bien modifier votre réponse, je supprimerai mon
vote négatif

@xpmatteo - a reformulé la réponse pour supprimer la phrase incorrecte. Pour la postérité: au moment de poser la question et de publier la réponse originale, je n'étais pas au courant de la possibilité d'utiliser yum avec une version spécifique de python3 (voir les autres réponses), ou ces packages n'étaient pas disponibles au moment de écriture originale.
Jake_Howard

A travaillé pour moi! Aujourd'hui, vous pouvez utiliser 3.7.2 au lieu de 3.4.2
Al Po

24

EC2 (sur l'AMI Amazon Linux) prend actuellement en charge python3.4 et python3.5.

sudo yum install python35
sudo yum install python35-pip

Accessoires pour cette réponse! Python3 n'est pas python3sur les instances AWS par défaut. Très frustrant d'échanger entre Ubuntu et AWS Linux lorsque vous travaillez!
Adam Link

20

À partir de la version 2017.09 d'Amazon Linux, python 3.6 est désormais disponible:

sudo yum install python36 python36-virtualenv python36-pip

Consultez les notes de publication pour plus d'informations et d'autres packages


12
pip3 n'est pas lié, donc si vous voulez l'utiliser, sudo ln -s /usr/bin/pip-3.6 / usr / bin / pip3
ski_squaw

4

Amazon Linux prend désormais en charge python36.

python36-pip n'est pas disponible. Il faut donc suivre un itinéraire différent.

sudo yum install python36 python36-devel python36-libs python36-tools

# If you like to have pip3.6:
curl -O https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py

C'est le moyen le plus simple qui fonctionne en 2020 de tous les autres.
russellthehippo

4

Comme @NickT l'a dit, il n'y a pas de python3 [4-6] dans les dépôts yum par défaut dans Amazon Linux 2 , à partir d'aujourd'hui, il utilise la version 3.7 et en regardant toutes les réponses ici, nous pouvons dire qu'il sera changé avec le temps.

Je cherchais python3.6 sur Amazon Linux 2 mais amazon-linux-extrasmontre beaucoup d'options mais pas de python du tout. en fait, vous pouvez essayer de trouver la version que vous connaissez dans le epelrepo:

sudo amazon-linux-extras install epel

yum search python | grep "^python3..x8"

python34.x86_64 : Version 3 of the Python programming language aka Python 3000
python36.x86_64 : Interpreter of the Python programming language

Malheureusement, la seule version qu'il montre maintenant est python34.x86_64, ils ont dû supprimer python36.x86_64, ce qui est assez ennuyeux.
dragon788 le

1

En ajoutant à toutes les réponses déjà disponibles pour cette question, je voudrais ajouter les étapes que j'ai suivies pour installer Python3 sur une instance AWS EC2 exécutant CentOS 7. Vous pouvez trouver tous les détails sur ce lien.

https://aws-labs.com/install-python-3-centos-7-2/

Tout d'abord, nous devons activer SCL. SCL est un projet communautaire qui vous permet de créer, d'installer et d'utiliser plusieurs versions de logiciels sur le même système, sans affecter les packages par défaut du système.

sudo yum install centos-release-scl

Maintenant que nous avons le référentiel SCL, nous pouvons installer le python3

sudo yum install rh-python36

Pour accéder à Python 3.6, vous devez lancer une nouvelle instance de shell à l'aide de l'outil scl de Software Collection:

scl enable rh-python36 bash

Si vous vérifiez la version Python maintenant, vous remarquerez que Python 3.6 est la version par défaut

python --version

Il est important de souligner que Python 3.6 est la version Python par défaut uniquement dans cette session shell. Si vous quittez la session ou ouvrez une nouvelle session depuis un autre terminal, Python 2.7 sera la version par défaut de Python.

Maintenant, installez les outils de développement python en tapant:

sudo yum groupinstall Development Tools

Créez maintenant un environnement virtuel pour que les packages python par défaut ne soient pas perturbés.

mkdir ~/my_new_project
cd ~/my_new_project
python -m venv my_project_venv

Pour utiliser cet environnement virtuel,

source my_project_venv/bin/activate

Maintenant, votre environnement virtuel est configuré avec python3.


0

Sur les dérivés Debian tels que Ubuntu, utilisez apt. Vérifiez le référentiel apt pour les versions de Python disponibles. Ensuite, exécutez une commande similaire à la suivante, en remplaçant le nom de package correct:

sudo apt-get install python3

Sur Red Hat et ses dérivés, utilisez yum. Vérifiez le référentiel yum pour les versions de Python disponibles. Ensuite, exécutez une commande similaire à la suivante, en remplaçant le nom de package correct:

sudo yum install python36

Sur SUSE et ses dérivés, utilisez zypper. Recherchez dans le référentiel les versions de Python disponibles. Ensuite. exécutez une commande similaire à la suivante, en remplaçant le nom de package correct:

sudo zypper install python3

-1

Voici la seule commande pour installer python3 sur l'instance Amazon linux ec2:

$ sudo yum installer python3 -y

$ python3 --version

Python 3.7.6

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.