web-dev-qa-db-fra.com

Comment installer Python 3 sur une instance AWS EC2?

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 googlé autour 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?

107
Jake_Howard

Si vous faites un

Sudo yum list | grep python3

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

Sudo yum install python34 python34-pip
190
TaborKelly

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

Dans Amazon Linux 2 , il n'y a pas de python3[4-6] dans le repos par défaut yum, à la place, il y a Amazon Suppléments Bibliothèque .

Sudo Amazon-linux-extras install python3

Si vous souhaitez configurer des environnements virtuels isolés avec ce dernier; utiliser yum install 'd virtualenv ne semble pas fonctionner correctement.

virtualenv --python=python3 my_venv

L'appel du module/outil venv est moins astucieux et vous pouvez vérifier que c'est ce que vous voulez/attendez avec python3 --version au préalable.

python3 -m venv my_venv

Autres choses qu’il peut installer (versions 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 ]
47
Nick T

Voici les étapes que j’ai utilisées pour installer manuellement python3 à l’intention de tous ceux qui souhaitent le faire, car ce n’est pas très simple. EDIT: Il est 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 ceci, 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)
_
35
Jake_Howard

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

Sudo yum install python35
Sudo yum install python35-pip
23
Russ McFatter

À partir de la version 2017.09 d’Amazon Linux, python 3.6 est maintenant disponible:

Sudo yum install python36 python36-virtualenv python36-pip

Voir le Notes de version pour plus d'informations et d'autres packages.

19
Realistic

Amazon Linux prend désormais en charge python36.

python36-pip n'est pas disponible. Donc, besoin de 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
2
Sairam Krish

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

Je cherchais python3.6 sur Amazon Linux 2 mais Amazon-linux-extras montre de nombreuses options mais pas de python. en fait, vous pouvez essayer de trouver la version que vous connaissez dans le repo epel:

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
2
Putnik

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

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

Premièrement, nous devons activer SCL. SCL est un projet de communauté 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 un 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 Software Collection scl:

scl enable rh-python36 bash

Si vous cochez la version Python, vous remarquerez que Python 3.6 est la version par défaut.

python --version

Il est important de noter que Python 3.6 est la version par défaut de Python 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 Python.

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

Sudo yum groupinstall ‘Development Tools’

Créez maintenant un environnement virtuel de sorte 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, vous avez votre environnement virtuel configuré avec python3.

1
nishant ambastha