Installer Python 3 sur RHEL

j'essaie d'installer python3 sur RHEL en utilisant les étapes suivantes:

yum search python3

qui renvoie No matches found for: python3

suivi de:

yum search python

aucun des résultats de recherche ne contenait python3. Que devrais-je essayer?

89
demandé sur alex 2011-11-11 02:21:44

16 réponses

Il est facile de l'installer manuellement:

  1. télécharger (il peut y avoir de nouvelles versions sur Python.org ):

    $ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
    
  2. Décompresser

    $ tar xf Python-3.* 
    $ cd Python-3.*
    
  3. Préparer la compilation

    $ ./configure
    
  4. Construire

    $ make
    
  5. Installer

    $ make install
    

    ou si vous ne voulez pas écraser l'exécutable python (plus sûr, au moins sur certains distros yum a besoin python pour être 2.x, comme pour RHEL6) - vous pouvez installer python3.* comme une instance concurrente au défaut du système avec un altinstall :

    $ make altinstall
    

maintenant si vous voulez un répertoire d'installation alternatif, vous pouvez passer --prefix au "1519120920 de la commande".

exemple: pour "installer" Python dans /opt/local, il suffit d'ajouter --prefix=/opt/local .

après l'étape make install : pour utiliser votre nouvelle installation Python, il se peut que vous ayez encore à ajouter le [prefix]/bin au $PATH et [prefix] / lib au $LD_LIBRARY_PATH (en fonction du --prefix que vous avez passé)

148
répondu gecco 2016-08-29 07:52:31

installer à partir de RPM est généralement mieux, parce que:

  • vous pouvez installer et désinstaller (correctement) python3.
  • le temps d'installation est beaucoup plus rapide . Si vous travaillez dans un environnement cloud avec plusieurs VMs, compiler python3 sur chaque VMs n'est pas acceptable.

Solution 1: Red Hat & EPEL repositories

Rouge Hat a ajouté Python 3.4 pour CentOS 6 et 7 à travers le dépôt EPEL .

malheureusement:

  • pip3 n'est pas emballé à un régime quelconque. Vous devez l'installer manuellement (voir ci-dessous).
  • pyvenv est sur écoute et ne fonctionne pas. Vous devez utiliser virtualenv .

[EPEL] comment installer Python 3.4 sur CentOS 6 et 7

sudo yum install -y epel-release
sudo yum install -y python34

# Install pip3
sudo yum install -y python34-setuptools  # install easy_install-3.4
sudo easy_install-3.4 pip

# I guess you would like to install virtualenv or virtualenvwrapper
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper

si vous voulez utiliser pyvenv , vous pouvez faire ce qui suit pour installer pip3 dans votre virtualenv:

pyvenv --without-pip my_env
curl https://bootstrap.pypa.io/get-pip.py | my_env/bin/python

mais si vous voulez le sortir de la boîte, vous pouvez ajouter cette fonction bash (alias) dans votre .bashrc :

pyvenv() { /usr/bin/pyvenv --without-pip $@; for env in $@; do curl https://bootstrap.pypa.io/get-pip.py | "$env/bin/python"; done; }

Solution 2: SIU Communauté référentiels

Le IUS Communauté fournit quelques up-to-date paquets pour RHEL & CentOS . Les gars derrière sont de Rackspace, donc je pense qu'ils sont assez fiables...

https://ius.io /

Vérifiez la bonne pension pour vous ici:

https://ius.io/GettingStarted /

[IUS] comment installer Python 3.5 sur CentOS 6

sudo yum install -y https://centos6.iuscommunity.org/ius-release.rpm
sudo yum install -y python35u python35u-pip

# I guess you would like to install virtualenv or virtualenvwrapper
sudo pip3.5 install virtualenv
sudo pip3.5 install virtualenvwrapper

Note: Vous avez pyvenv-3.5 disponible hors de la boîte si vous ne voulez pas utiliser virtualenv .

[IUS] comment installer Python 3.5 sur CentOS 7

sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
sudo yum install -y python35u python35u-pip

# I guess you would like to install virtualenv or virtualenvwrapper
sudo pip3.5 install virtualenv
sudo pip3.5 install virtualenvwrapper

Note: vous avez pyvenv-3.5 disponible si vous ne voulez pas utiliser virtualenv .

186
répondu Samuel Phan 2017-05-05 10:23:56

en plus de la réponse de gecco, je changerais l'étape 3 de:

./configure

à:

./configure --prefix=/opt/python3

puis après l'installation vous pouvez aussi:

# ln -s /opt/python3/bin/python3 /usr/bin/python3

c'est pour s'assurer que l'installation n'entre pas en conflit avec python installé avec yum.

voir explication que j'ai trouvé sur Internet:

http://www.hosting.com/support/linux/installing-python-3-on-centosredhat-5x-from-source

29
répondu rsc 2012-07-29 11:23:05

utilisez les repos SCL.

sudo sh -c 'wget -qO- http://people.redhat.com/bkabrda/scl_python33.repo >> /etc/yum.repos.d/scl.repo'
sudo yum install python33
scl enable python27

(cette dernière commande devra être exécutée à chaque fois que vous voulez utiliser python27 plutôt que la commande par défaut du système.)

9
répondu Paul Draper 2014-05-18 15:59:37

vous pouvez télécharger un RPMs source et RPMs binaires pour RHEL6 / CentOS6 à partir de ici

il s'agit d'un backport de la plus récente Fedora développement source rpm à RHEL6 / CentOS6

9
répondu Florian La Roche 2015-12-29 06:38:48

avec Python 2.7 et 3.3, Red Hat Software Collections inclut maintenant Python 3.4 - tous les travaux sur RHEL 6 et 7.

RHSCL 2.0 docs are at https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections /

plus beaucoup d'articles à developerblog.redhat.com.

modifier

suivre ces instructions pour installer Python 3.4 sur RHEL 6/7 ou CentOS 6/7:

# 1. Install the Software Collections tools:
yum install scl-utils

# 2. Download a package with repository for your system.
#  (See the Yum Repositories on external link. For RHEL/CentOS 6:)
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-6-x86_64/download/rhscl-rh-python34-epel-6-x86_64.noarch.rpm
#  or for RHEL/CentOS 7
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-7-x86_64/download/rhscl-rh-python34-epel-7-x86_64.noarch.rpm

# 3. Install the repo package (on RHEL you will need to enable optional channel first):
yum install rhscl-rh-python34-*.noarch.rpm

# 4. Install the collection:
yum install rh-python34

# 5. Start using software collections:
scl enable rh-python34 bash
8
répondu Mike Guerette 2015-09-24 10:19:28

Python3 a été récemment ajouté à EPEL7 sous le nom de Python34.

il y a un effort continu (actuellement) pour faire des directives d'empaquetage sur la façon d'empaqueter des choses pour Python3 dans EPEL7.

voir https://bugzilla.redhat.com/show_bug.cgi?id=1219411

et https://lists.fedoraproject.org/pipermail/python-devel/2015-July/000721.html

7
répondu rkuska 2015-07-16 07:58:23

j'avais le même problème avec le python 2.7. Suivez les étapes ci-dessous pour passer à la version 3.6. Vous pouvez également essayer cette

  1. voir avant la mise à niveau la version est 2.x

    python --version
    Python 2.7.5
    
  2. utilisez la commande ci-dessous pour mettre à jour votre python à 3.version x -

    yum install python3x

    remplacer x avec le numéro de version que vous voulez.

    i.e. pour installer python 3.6 execute

    yum install python36
    
  3. après cela si vous voulez définir ce python pour votre version par défaut alors dans bashrc ajouter un fichier

    vi ~/.bashrc

    alias python='python3.6'
    
  4. exécuter la commande bash pour appliquer les paramètres

    bash 
    
  5. Maintenant, vous pouvez voir la version ci-dessous

    python --version
    Python 3.6.3
    
4
répondu IRSHAD 2018-04-05 07:10:44

si vous voulez des paquets RHEL officiels, vous pouvez utiliser RHSCL (Red Hat Software Collections)

plus de détails:

vous devez avoir accès au Portail Client Red Hat pour lire l'intégralité article.

3
répondu daneel 2015-04-02 14:12:49

Voici les étapes que j'ai suivies pour installer Python3:

yum install wget
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz  
sudo tar xvf Python-3.*   
cd Python-3.* 
sudo ./configure --prefix=/opt/python3    
sudo make   
sudo make install   
sudo ln -s /opt/python3/bin/python3 /usr/bin/python3

$ /usr/bin/python3    
Python 3.6.0
3
répondu Aty 2018-04-26 08:11:00

juste pour faire une très brève réponse autonome pour concurrencer les suggestions" installer à partir de la source".

le paquet n'est pas appelé python3 mais il y a un paquet pour chaque version de Python3.

yum install python36

vous donnera Python 3.6.

2
répondu tripleee 2017-12-12 06:19:28

trois étapes utilisant Python 3.5 par collections de logiciels :

sudo yum install centos-release-scl
sudo yum install rh-python35
scl enable rh-python35 bash

notez que sudo n'est pas nécessaire pour la dernière commande. Maintenant nous pouvons voir que python 3 est la valeur par défaut pour le shell actuel:

python --version
Python 3.5.1

sautez simplement la dernière commande si vous préférez avoir Python 2 par défaut pour le shell actuel.

maintenant, disons que vos scripts Python 3 vous donnent une erreur comme /usr/bin/env: python3: No such file or directory . C'est parce que l'installation est habituellement faite sur un chemin inhabituel:

/opt/rh/rh-python35/root/bin/python3

le lien ci-dessus est normalement un lien symbolique. Si vous voulez que python3 soit automatiquement ajouté au $PATH pour tous les utilisateurs au démarrage, une façon de le faire est d'ajouter un fichier comme:

sudo vim /etc/profile.d/rh-python35.sh

qui aurait quelque chose comme:

#!/bin/bash

PATH=$PATH:/opt/rh/rh-python35/root/bin/

et maintenant après un redémarrage, si nous le faisons

python3 --version

ça devrait marcher. Une exception serait un utilisateur généré automatiquement comme "jenkins" dans un serveur Jenkins qui n'a pas de shell. Dans ce cas, ajouter manuellement le chemin d'accès à $PATH dans les scripts serait une solution.

enfin, si vous utilisez sudo pip3 pour installer des paquets, mais qu'il vous indique que pip3 ne peut pas être trouvé, il se peut que vous ayez un secure_path dans / etc / sudoers . Vérifier avec sudo visudo devrait confirmer. Pour utiliser temporairement la norme PATH lorsque vous exécutez des commandes vous pouvez faire, par exemple:

sudo env "PATH=$PATH" pip3 --version

Voir ce question pour plus de détails.

NOTE : il y a un nouveau Python 3.6 par collections de logiciels, mais je ne le recommande pas pour le moment, parce que j'ai eu des maux de tête majeurs en essayant d'installer Pycurl. Pour Python 3.5 ce n'est pas un problème parce que je viens de faire sudo yum install sclo-python35-python-pycurl qui a fonctionné à partir de la boîte.

2
répondu Nagev 2018-08-09 15:32:36

si vous êtes sur RHEL et que vous voulez un Python soutenu par Red Hat, utilisez Red Hat Software collections (RHSCL). Les paquets EPEL et IUS ne sont pas supportés par Red Hat. En outre, beaucoup des réponses ci-dessus pointent vers les collections de logiciels CentOS. Bien que vous puissiez les installer, ce ne sont pas les paquets pris en charge par Red Hat pour RHEL.

aussi, la réponse la plus votée donne de mauvais conseils - sur RHEL vous ne voulez pas changer /usr/bin/python , /usr/bin/python2 parce que vous allez probablement casser yum et autres outils d'administration RHEL. Jetez un oeil à /bin/yum , c'est un script Python qui commence par #!/usr/bin/python . Si vous compilez Python à partir des sources, ne faites pas un make install comme root. Qui écrira /usr/bin/python . Si vous cassez yum il peut être difficile de restaurer votre système.

pour plus d'informations, voir comment installer Python 3, pip, venv, virtualenv, et pipenv sur RHEL sur developers.redhat.com . Il couvre l'installation et l'utilisation de Python 3 à partir de RHSCL, en utilisant des environnements virtuels Python, et un certain nombre de conseils pour travailler avec des collections de logiciels et de travailler avec Python sur RHEL.

en bref, pour installer Python 3.6 via Red Hat Collections de logiciels:

$ su -
# subscription-manager repos --enable rhel-7-server-optional-rpms \
   --enable rhel-server-rhscl-7-rpms
# yum -y install @development
# yum -y install rh-python36

# yum -y install rh-python36-numpy \
   rh-python36-scipy \ 
   rh-python36-python-tools \
   rh-python36-python-six

pour utiliser une collection de logiciels, vous devez l'activer:

scl enable rh-python36 bash

cependant si vous voulez que Python 3 soit activé en permanence, vous pouvez ajouter ce qui suit: à votre ~/.bashrc puis se déconnecter et revenir à nouveau. Maintenant Python 3 est en permanence sur votre chemin.

# Add RHSCL Python 3 to my login environment
source scl_source enable rh-python36

Note: une fois que vous avez fait cela, taper python vous donne maintenant Python 3.6 au lieu de python 2.7.

Voir l'article ci-dessus pour tout cela et beaucoup plus de détails.

2
répondu Rob T. 2018-08-13 16:42:39

yum install python34.x86_64 fonctionne si vous avez epel-release installé cette réponse explique comment, et je confirme qu'il a travaillé sur RHEL 7.3

$ cat /etc/*-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.3 (Maipo)

$ type python3
python3 is hashed (/usr/bin/python3)
1
répondu amphibient 2017-04-13 12:36:27

pour RHEL sur Amazon Linux, en utilisant python3 je devais faire:

sudo yum install python34-devel

1
répondu Maxime Martineau 2017-05-10 18:02:33

je vois toutes les réponses comme soit demander de compiler python3 à partir du code ou installer le paquet RPM binaire. Voici une autre réponse pour activer EPEL (paquets supplémentaires pour Enterprise Linux) et ensuite installer python en utilisant yum. Steps for RHEL 7.5 (Maipo)

yum install wget –y
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm –ivh epel-*.rpm
yum install python36

voir Aussi lien

1
répondu Jay Rajput 2018-07-09 14:25:31