RHEL에 Python 3 설치


128

다음 단계를 사용하여 RHEL에 python3을 설치하려고합니다.

yum search python3

돌아온 No matches found for: python3

뒤에 :

yum search python

검색 결과에 python3이 포함되지 않았습니다. 다음에 무엇을 시도해야합니까?


RHEL에는 아직 Python 3이 포함되어 있지 않다고 생각합니다. Fedora 용으로 빌드 된 RPM을 설치할 수 있습니다 : admin.fedoraproject.org/pkgdb/acls/name/python3
Thomas K

항상 소스에서 설치할 수도 있습니다.
Dougal

여기에서 Python 3.4에 대한 EPEL 검토 요청에 주목하십시오. bugzilla.redhat.com/show_bug.cgi?id=1219411 문제가 해결되면 저 (또는 다른 사람)가 EPEL 세부 정보와 함께 새 답변을 게시 할 것입니다.
ncoghlan

2
커뮤니티 yum repos를 사용하는 Samuel Phan의 답변은 Samuel이 말한 정확한 이유 때문에 소스에서 빌드하는 것보다 낫습니다. 그의 대답을 변경해야합니다.
Edward Ned Harvey

답변:


186

수동으로 설치하는 것은 쉽습니다.

  1. 다운로드 ( Python.org에 최신 릴리스가있을 수 있음 ) :

    $ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
  2. 압축 해제

    $ tar xf Python-3.* 
    $ cd Python-3.*
    
  3. 편집 준비

    $ ./configure
  4. 짓다

    $ make
  5. 설치

    $ make install

    또는 당신이 덮어 쓰기를 원하지 않을 경우 python실행 (안전을 일부 배포판의에 대한 최소한 yum의 요구 python등 RHEL6에 대한 같은 2.X를, 수) - 당신은 설치할 수 있습니다 python3.*와 시스템 기본에 동시 인스턴스로 altinstall:

    $ make altinstall

이제 대체 설치 디렉토리 --prefix가 필요하면 configure명령에 전달할 수 있습니다 .

예 : / opt / local에 Python을 '설치'하려면 --prefix=/opt/local.

make install단계 후 : 새 Python 설치를 사용하려면 여전히 [prefix] / bin을에 추가 $PATH하고 [prefix] / lib를 $LD_LIBRARY_PATH( --prefix전달한 항목에 따라) 추가해야 할 수 있습니다.


9
다음을 사용했습니다. bzip2 -cd Python-3.2.2.tar.bz2 | tar xvf-이것은 또한 더 간단한 가능성입니다 : tar jxvf Python-3.2.2.tar.bz2
rajadhiraja

1
bz2 tar를 사용할 때 301 (이동)을 404로 얻었습니다. 나는 그것을 .tgz로 변경했고 잘 다운로드되었습니다.
Caleb

2
그리고 저에게 결과 바이너리는 python3.5라는 이름으로 여기에 있습니다. [root @ machine python3.5] # which python3.5 /usr/local/bin/python3.5 따라서이 이름에 심볼릭 링크를 추가 할 수 있습니다. 편의를위한 python3
Will

6
당신이 얻는 경우 no acceptable C compiler found in $PATH when installing python에 reffer을 http://stackoverflow.com/questions/19816275/no-acceptable-c-compiler-found-in-path-when-installing-python
북경 사범

3
./configure --with-ensurepip=install을 활성화 pip3하지 않으면 pip3컴파일 후 설치 되지 않습니다 .
Searene

238

RPM에서 설치하는 것이 일반적으로 더 좋습니다.

  • python3을 (적절하게) 설치하고 제거 할 수 있습니다 .
  • 설치 시간이 빠른 방법입니다 . 여러 VM이있는 클라우드 환경에서 작업하는 경우 각 VM에서 python3을 컴파일하는 것은 허용되지 않습니다.

솔루션 1 : Red Hat 및 EPEL 리포지토리

Red Hat은 EPEL 저장소를 통해 추가되었습니다 .

  • CentOS 6 용 Python 3.4
  • CentOS 7 용 Python 3.6

[EPEL] CentOS 6에 Python 3.4 설치하는 방법

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

다음을 사용하여 virtualenv 를 만들 수 있습니다 pyvenv.

pyvenv /tmp/foo

[EPEL] CentOS 7에 Python 3.6 설치하는 방법

CentOS7에서는 pip3.6패키지로 제공됩니다. :)

sudo yum install -y epel-release
sudo yum install -y python36 python36-pip

다음을 사용하여 virtualenv 를 만들 수 있습니다 pyvenv.

python3.6 -m venv /tmp/foo

pyvenv스크립트 를 사용하면 경고가 표시됩니다.

$ pyvenv-3.6 /tmp/foo
WARNING: the pyenv script is deprecated in favour of `python3.6 -m venv`

솔루션 2 : IUS 커뮤니티 저장소

IUS 커뮤니티는 RHEL 및 CentOS에 대한 몇 가지 최신 패키지를 제공합니다 . 뒤에있는 사람들은 Rackspace 출신이라 믿을 만하다고 생각합니다 ...

https://ius.io/

여기에서 적합한 저장소를 확인하십시오.

https://ius.io/setup

[IUS] CentOS 6에 Python 3.6 설치하는 방법

sudo yum install -y https://repo.ius.io/ius-release-el6.rpm
sudo yum install -y python36u python36u-pip

다음을 사용하여 virtualenv 를 만들 수 있습니다 pyvenv.

python3.6 -m venv /tmp/foo

[IUS] CentOS 7에 Python 3.6 설치하는 방법

sudo yum install -y https://repo.ius.io/ius-release-el7.rpm
sudo yum install -y python36u python36u-pip

다음을 사용하여 virtualenv 를 만들 수 있습니다 pyvenv.

python3.6 -m venv /tmp/foo

1
IUS 릴리스 패키지 URL을 수정했습니다. 버전을 업데이트했습니다. 그게 다입니다. 패키지를 다시 업데이트하면 웹 페이지에서 RPM 링크를 확인할 수 있습니다.
Samuel Phan

1
내가 말했듯이 답변의 링크에는 인쇄 할 수없는 유니 코드 문자가 포함되어 있습니다. 링크를 복사 / 붙여 넣기 할 때 VIM에 표시되는 내용은 https://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/iu<200c><200b>s-release-1.0-14.iu‌​s.centos6.noarch.rpm 다음과 같습니다. 유니 코드 문자는 다음과 같습니다. fileformat.info/info/unicode/char/200c/index.htm 원래 답변의 URL이 작동하며 방금 테스트했습니다. 그것.
Samuel Phan

1
IUS 커뮤니티 저장소가 소프트웨어 컬렉션만큼 신뢰할 수
없다고 들었으므로

2
이 솔루션을 사용하여 python34 용 pip를 어떻게 설치합니까?
Loïc 2015 년

1
아주 좋은 질문에 대한 의견을 추가했습니다. 내가 찾은 최고입니다. RPM 기반 설치를 고수하려면 CentOS 7 용 IUS 리포지토리를 사용해야합니다 python34u-pip.
Samuel Phan

31

gecco의 답변 외에도 3 단계를 다음과 같이 변경합니다.

./configure

에:

./configure --prefix=/opt/python3

그런 다음 설치 후 다음을 수행 할 수도 있습니다.

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

설치가 yum과 함께 설치된 Python과 충돌하지 않도록하기위한 것입니다.

인터넷에서 찾은 설명을 참조하십시오.

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


16
/opt? /usr/local이 목적을 위해 특별히 존재하며 ./configure명시 적으로 --prefix배치 할 수 없습니다 .
cababunga

@cababunga 내가 쓴대로 특정 사이트에서 튜토리얼을 읽음으로써 영향을 받았습니다. 그럼에도 불구하고 위의 방법으로 파이썬을 설치하는 것은 유용 할 수 있습니다-제거하는 것이 훨씬 쉬울 것입니다 (make에 대한 제거 대상이 제공되지 않은 것처럼 보입니다). 또한 / opt 아래에 지정된 별도의 디렉토리에 다양한 버전의 python3을 쉽게 설치하고 어떤 버전을 사용하거나 테스트할지 수동으로 설정할 수 있습니다.
rsc

바이너리 폴더를 포함하도록 PATH를 설정할 수도 있습니다. 나를 위해 그것은export PATH=$PATH:/opt/python3/bin
Caleb

10

이제 Python 2.7 및 3.3과 함께 Red Hat Software Collections에 Python 3.4가 포함되어 있습니다. 모두 RHEL 6 및 7에서 모두 작동합니다.

RHSCL 2.0 문서는 https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/에 있습니다.

또한 developerblog.redhat.com의 많은 기사.

편집하다

RHEL 6/7 또는 CentOS 6/7에 Python 3.4를 설치하려면 다음 지침 을 따르십시오 .

# 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

//, 특수 쉘을 활성화해야하지 않습니까? virtualenvs와 결합하면 엉덩이에 통증이 있음을 알 수 있습니다.
Nathan Basanese 2015

//, 왜 이것이 필요 scl enable rh-python34 bash합니까? 나중에 이것을 사용하면 어떤 의미가 있습니까?
Nathan Basanese 2015

RedHat 6에 python3.5를 설치하는 방법이 있습니까? 시도 wget https://www.softwarecollections.org/en/scls/rhscl/rh-python35/epel-6-x86_64/download/rhscl-rh-python35-epel-6-x86_64.noarch.rpm했지만 찾을 수 없습니다.
Searene 2016

컬렉션을 받으려면 구독해야합니까? 비용은 얼마입니까?
Noumenon

1
추가 비용이 없습니다. RH 소프트웨어 컬렉션은 모든 RHEL 개발자 구독 및 대부분의 RHEL 구독의 일부입니다. 무료 RHEL 개발 구독은 developers.redhat.com/download에서 얻을 수 있습니다. 이는 실제 RHEL 구독 (프로덕션 권한과 동일한 비트)이지만 개발 용입니다.
Mike Guerette

9

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

(이 마지막 명령은 시스템 기본값이 아닌 python27을 사용할 때마다 실행해야합니다.)


4
redhat 문서를 읽은 후해야 할 일은 다음 중 하나였습니다. scl enable python33 bashpython 3에 사용할 수있는 새 셸을 시작하거나 scl enable python33 'python hello.py'현재 셸에서 python 3을 사용하여 python 파일을 실행합니다
snacks

//, Python 3.4 설치를 허용하는 더 일반적인 지침은 무엇입니까?
Nathan Basanese

RHEL을 사용하는 경우 Red Hat 소프트웨어 컬렉션을 사용 subscription-manager repos --enable rhel-7-server-optional-rpms --enable rhel-server-rhscl-7-rpms합니다.. 그런 다음 할 수 있습니다 yum install rh-python36. 자세한 내용 은 RHELPython 3을 설치하는 방법을 참조하세요 .
Rob T.


9

여기 에서 RHEL6 / CentOS6 용 소스 RPM 및 바이너리 RPM을 다운로드 할 수 있습니다.

이것은 최신 Fedora 개발 소스 rpm에서 RHEL6 / CentOS6으로의 백 포트입니다.


훌륭합니다. 노력 해주셔서 감사합니다, Florian. 아마도 createrepo그 디렉토리에서 실행 하면 어떤 사람들에게는 더 유용 할 것입니다.
cababunga

어떤 구호. rpm이 완벽하게 설치되었습니다.
lyomi

//, 그 링크에서 어떻게 저장소를 만들까요?
Nathan Basanese 2015 년

//, 이것이 작동하는지 확인할 수 있습니다. 잠깐만 요, 그 URL을 다음 baseurl과 같이 사용하는 빠른 무언가를 채찍질했습니다 : 0bin.net/paste/…
Nathan Basanese

6

코드에서 python3 컴파일을 요청하거나 바이너리 RPM 패키지를 설치하는 것으로 모든 답변이 표시됩니다. EPEL (Enterprise Linux 용 추가 패키지)을 활성화 한 다음 yum을 사용하여 python을 설치하는 또 다른 답변입니다. 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

링크 참조


특히 SCL을 통한 공식적인 방법이 작동하지 않는 경우 잘 작동합니다. 다음 pip3 설치 보완 :sudo yum install python34-setuptools
OSP

5

파이썬 2.7을 사용하여 동일한 문제가 발생했습니다. 3.6으로 성공적으로 업그레이드하려면 아래 단계를 따르십시오. 이것을 시도해 볼 수도 있습니다.

  1. 2.x 버전을 업그레이드하기 전에 확인하십시오.

    python --version
    Python 2.7.5
  2. 아래 명령을 사용하여 Python을 3.x 버전으로 업그레이드하십시오.

    yum python3x 설치

    대체 X를 원하는 버전 번호.

    즉, 파이썬 3.6을 설치하기 위해 실행

    yum install python36
  3. 그 후이 파이썬을 기본 버전으로 설정하려면 bashrc 파일에 추가하십시오.

    vi ~ / .bashrc

    alias python='python3.6'
  4. bash 명령을 실행하여 설정을 적용하십시오.

    bash 
  5. 이제 아래 버전을 볼 수 있습니다.

    python --version
    Python 3.6.3

이 답변은 EPEL 또는 IUS 중 하나의 타사 저장소 중 하나를 추가하지 않으면 작동하지 않습니다. RHEL에는 python36 패키지가 없습니다. RHSCL 패키지는 rh-python36.
Rob T.

4

Python 3.5 by Software Collections를 사용하는 세 단계 :

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

마지막 명령에는 sudo가 필요하지 않습니다. 이제 python 3이 현재 셸의 기본값임을 알 수 있습니다.

python --version
Python 3.5.1

현재 셸의 기본값으로 Python 2를 사용하려면 마지막 명령을 건너 뛰십시오.

이제 Python 3 스크립트가 /usr/bin/env: python3: No such file or directory. 설치가 일반적으로 비정상적인 경로로 수행되기 때문입니다.

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

위는 일반적으로 심볼릭 링크입니다. 당신이 원하는 경우에 python3자동으로 추가 될 $PATH시작할 때 모든 사용자에 대해,이 작업을 수행하는 한 가지 방법은 같은 파일을 추가하는 것입니다 :

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

다음과 같은 것이 있습니다.

#!/bin/bash

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

이제 다시 부팅 한 후

python3 --version

그냥 작동합니다. 한 가지 예외는 쉘이없는 Jenkins 서버에서 "jenkins"와 같은 자동 생성 사용자입니다. 이 경우 $PATH스크립트 에서 경로를 수동으로 추가하는 것이 한 가지 방법입니다.

마지막 으로을 사용 sudo pip3하여 패키지를 설치하지만 pip3 을 찾을 수 없다는 메시지가 표시 되는 경우 / etc / sudoers에 secure_path 가있을 수 있습니다 . 확인 sudo visudo해야합니다. 명령을 실행할 때 임시로 표준 PATH를 사용하려면 다음과 같이 할 수 있습니다.

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

자세한 내용은 질문을 참조하십시오.

참고 : Software Collections의 최신 Python 3.6이 있지만 Pycurl을 설치하는 데 큰 골칫거리가 있었기 때문에 지금은 권장하지 않습니다. Python 3.5 sudo yum install sclo-python35-python-pycurl의 경우 상자에서 바로 작동 했기 때문에 문제가되지 않습니다 .


No package centos-release-scl available.
Joe

CentOS 저장소에서 사용할 수 있습니다.
Nagev

4

RHEL을 사용 중이고 Red Hat에서 지원하는 Python을 원하는 경우 RHSCL (Red Hat 소프트웨어 컬렉션)을 사용합니다. EPEL 및 IUS 패키지는 Red Hat에서 지원되지 않습니다. 또한 위의 많은 답변은 CentOS 소프트웨어 컬렉션을 가리 킵니다. 설치할 수는 있지만 RHEL 용 Red Hat 지원 패키지는 아닙니다.

또한 가장 많이 득표 한 답변은 나쁜 조언을 제공합니다. RHEL /usr/bin/python에서는 변경 및 기타 RHEL 관리 도구가 /usr/bin/python2손상 될 가능성이 있으므로 변경하고 싶지 않습니다 yum. 한 번 봐 /bin/yum이로 시작하는 파이썬 스크립트입니다 #!/usr/bin/python. 소스에서 Python을 컴파일하는 경우 make install루트로 수행하지 마십시오 . 덮어 씁니다 /usr/bin/python. 고장난 경우 yum시스템 복원이 어려울 수 있습니다.

자세한 내용 은 developers.redhat.com 에서 RHELPython 3, pip, venv, virtualenv 및 pipenv를 설치하는 방법을 참조하세요 . RHSCL에서 Python 3 설치 및 사용, Python 가상 환경 사용, 소프트웨어 컬렉션 작업 및 RHEL에서 Python 작업에 대한 여러 팁을 다룹니다.

간단히 말해서 Red Hat 소프트웨어 컬렉션을 통해 Python 3.6을 설치하려면 :

$ 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

소프트웨어 컬렉션을 사용하려면 활성화해야합니다.

scl enable rh-python36 bash

그러나 Python 3를 영구적으로 활성화하려면 ~ / .bashrc에 다음을 추가 한 다음 로그 아웃했다가 다시 로그인 할 수 있습니다. 이제 Python 3은 영구적으로 경로에 있습니다.

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

참고 : 일단 입력하면 python이제 Python 2.7 대신 Python 3.6이 제공 됩니다 .

이 모든 것과 훨씬 더 자세한 내용은 위의 기사를 참조하십시오.


3

공식 RHEL 패키지를 원한다면 RHSCL (Red Hat Software Collections)을 사용할 수 있습니다.

자세한 내용은:

전체 기사를 읽으려면 Red Hat 고객 포털에 액세스 할 수 있어야합니다.


//, 방금 찬성했습니다. 이를 위해 RHSCL을 사용하기 위해 무엇을하는지 요약 해 주시겠습니까? 이것은 결국 질문과 답변 사이트입니다.
Nathan Basanese

1
RHEL에 Python 3을 설치하는 방법 문서 에는 소프트웨어 컬렉션을 통한 Python 3.6의 최신 단계와 RHSCL, Python 및 가상 환경 작업에 대한 많은 팁이 있습니다.
Rob T.

3

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

2
-devel 종속성 (SSL, bzip 등)을 많이 설치하지 않고 소스에서 빌드하면 공유 객체에 의존하는 여러 모듈이 누락됩니다. rpm 기반 배포판 (RHSCL, EPEL 또는 IUS) 중 하나를 설치하는 것이 더 좋습니다
Rob T.

1

yum install python34.x86_64epel-release설치 한 경우 작동 하며이 답변은 방법을 설명 하며 작동하는지 확인했습니다.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

Amazon Linux의 RHEL의 경우 python3을 사용하여 다음을 수행해야했습니다.

sudo yum install python34-devel


1
No package python34-devel available.

1

SCL을 사용할 수없는 경우 전체 작동 36 (Joys 입력 기준)

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

sudo yum install python34-setuptools
sudo mkdir /usr/local/lib/python3.6
sudo mkdir /usr/local/lib/python3.6/site-packages

sudo easy_install-3.6 pip

마지막으로 환경을 활성화하십시오 ...

pyvenv-3.6 py3
source py3/bin/activate

그런 다음 python3


0

miniconda ( https://conda.io/miniconda.html )를 설치할 수 있습니다 . 파이썬 3.7 이상이지만 설치는 매우 간단하고 간단합니다.

curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O
sudo yum install bzip2
bash Miniconda3-latest-Linux-x86_64.sh

라이센스 계약에 동의하고 대화 형 모드에서 몇 가지 옵션을 선택해야합니다 (기본값 수락). 어떻게 든 조용히 설치할 수 있다고 생각합니다.


python나중에 실제 명령을 찾을 수 없습니다. 포장되어 있습니까?
Mugen

0

AWS EC2 RHEL 7.5에서 작업하는 경우 ( sudo 사용 ) 필수 저장소 활성화

yum-config-manager --enable rhui-REGION-rhel-server-optional
yum-config-manager --enable rhui-REGION-rhel-server-rhscl

Python 3.6 설치

yum install rh-python36

다른 종속성 설치

yum install rh-python36-numpy  rh-python36-scipy  rh-python36-python-tools  rh-python36-python-six
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.