CentOS에 Python 2.6 설치


85

CentOS를 실행하는 셸이 있습니다.

내가하고있는 프로젝트의 경우 파이썬 2.5 이상이 필요하지만 centOS는 2.4에 상당히 의존합니다.

내가 읽은 바에 따르면 2.5로 업그레이드하면 여러 가지 문제가 발생합니다.

2.4와 별도로 2.5를 설치하고 싶지만 어떻게해야할지 모르겠습니다. 지금까지 소스 tarball을 다운로드하고 압축을 푼 다음 ./configure --prefix=/opt끝낼 위치를 지정했습니다. 이제 그냥 할 수 있습니까 make, make install? 아니면 더 있습니까?


8
개인적으로 CentOS를 많이 사용하고 RedHat / CentOS 배포판이 얼마나 까다로운 지 (Python 2.4 ...) 때문에 Ubuntu로 전환했습니다. 정치적으로 도약 할 수 있다면 그렇게하십시오. 당신은 훨씬 더 행복해질 것이고 더 이상 이런 종류의 것에 대해 걱정할 필요가 없을 것입니다.
Adam Nelson

1
소스에서 컴파일하고 /usr/local(기본값) 에 설치해 도 문제가 발생하지 않습니다. 또는 더 좋은 방법은 centos를 삭제하고 debian을 설치하는 것입니다. : P
o0 '.

19
어? CentOS / RHEL의 핵심은 장기적인 지원입니다. 최신 배포판으로 전환하는 옵션이있는 경우 CentOS 배경이있는 사람을 위해 Ubuntu로 전환하는 것보다 Fedora로 전환하는 것이 훨씬 더 합리적입니다.
Muhammad Alkarouri

1
비꼬는 사이드 바없이 명확하게 말하면 : 예. 나열된대로 소스에서 / opt에 최신 버전의 Python을 설치할 수 있습니다. 또는 기본적으로 / usr / local / {bin, lib, share, man}으로 이동하여 훌륭하게 작동하며 여전히 CentOS 5 버전 인 python 2.4를 방해하지 않습니다. CentOS 6에는 python 2.6.6이 포함되어 있습니다.
IcarusNM

답변:


79

EPEL-repository 를 사용한 다음 sudo yum install python26Python 2.6을 설치할 수도 있습니다.


8
EPEL 사용 방법 : fedoraproject.org/wiki/EPEL/FAQ#howtouse- 하지만 32 비트 x86이 아닌 경우 i386을 아치로 교체하는 것을
잊지 마십시오

나를 위해 일했습니다! 다른 프로젝트에도 이것들이 필요했기 때문에 두 배로 행복합니다!
rholmes

2
Python 2.6은 더 이상 epel이 아닌 것 같습니다.
mujimu jul.

1
@mujimu, 나는 2.6을 2.4보다 기본값으로 만들 수 있다고 생각합니다. 따라서 같은 명령 은 OS 버전 / 버전에 따라 다를 yum install python26수 있습니다 yum install python.
James Oravec 2014-08-28

31

epel 시도

wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
sudo rpm -ivh epel-release-5-4.noarch.rpm
sudo yum install python26

파이썬 실행 파일은 /usr/bin/python26

mkdir -p ~/bin
ln -s /usr/bin/python26 ~/bin/python
export PATH=~/bin:$PATH # Append this to your ~/.bash_profile for persistence

이제 python명령이 실행됩니다.python 2.6


마지막 비트에 감사드립니다-방금 python26을 설치했고 '기본값'(2.4)이 2.6을 참조하도록 만드는 방법이 궁금합니다. 심볼릭 링크를 만들고 경로를 조정했습니다.
제이 Sidri

이것은 분명히 작동합니다 ... 한 사용자에게 ... python2.6을 3.0으로 대체 할 때까지 ...하지만이 작업을 수행하는 데 권장되는 방법 인 것 같습니다. 나는 CentOS가 동시에 설치할 다양한 패키지의 버전을 선택할 수있는 도구를 제공하지 않는다고 생각하는데 문제가 있습니다. 사용자가 앞으로 몇 년 동안 코너 케이스에 대해 생각할 필요없이 커튼 뒤에 자리를 잡습니다.
Tomislav Nakic-Alfirevic

그 이유는 주로 서버에 사용되는 엔터프라이즈 OS이기 때문에 사람들이 Cent OS에서 많은 개발을하지 않기 때문이라고 생각합니다. 모든 것이 올바르게 구성되면 간헐적 인 보안 업데이트가없는 한 서버를 건드리지 않습니다.
조이스 바부

1
@ TomislavNakic-Alfirevic 아직 시도하지 않았지만 github.com/yyuu/pyenv 는 유망 보입니다. 소스에서 모든 것을 빌드하고 각 버전을 자체 디렉토리에 설치합니다. 개발자가 자신의 홈 디렉토리에 설치하는 것이 더 목표 인 것처럼 보이지만 빌드는 sudo로 실행되고 공유 디렉토리를 대상으로 할 수 있습니다.
Mark Evans

@MarkEvans Python은 내 강점이 아니므로 쉽게 틀릴 수 있지만 pyenv는 다른 문제에 대한 해결책처럼 보입니다. "python"을 "JDK"로 바꾸었다면 Java 앱을 배포 할 수 있도록 컴파일하는 것에 만족하지 않을 것입니다. 다른 사람이 어떤 버전으로도 컴파일, 테스트, 재 테스트 및 테스트 한 JDK 버전을 원합니다. 내가 사용하고있는 CentOS의. 나는 파이썬에 동일한 논리를 적용하는 경향이 있습니다. 즉, dev와 같이 pyenv가 빛나는 사용 사례가 있다고 확신합니다. (배포와 반대) 머신.
Tomislav Nakic-Alfirevic

28

비슷한 상황에 처했을 때 일반적으로 패키지 관리자를 사용하지 않습니다. 특히 프로덕션 서버와 같은 무언가를 깨는 것이 부끄러 울 경우에는 특히 그렇습니다. 대신 Activestate로 이동하여 바이너리 패키지를 다운로드합니다.

https://www.activestate.com/activepython/downloads/

이것은 모든 것을 폴더에 넣고 시스템 파일을 건드리지 않는 스크립트를 실행하여 설치됩니다. 사실, 설정하기 위해 루트 권한도 필요하지 않습니다. 그런 다음 바이너리 이름을 apy26과 같은 이름으로 변경하고 해당 폴더를 PATH 끝에 추가하고 코딩을 시작합니다. apy26 setup.py installvirtualenv 및 easyinstall을 사용 하여 패키지를 설치 하거나 사용하는 경우 시스템 표준 Python을 건드리지 않고도 필요한만큼 유연한 Python 환경을 갖게됩니다.

편집 ... 최근에 외부 종속성없이 모든 배포판에서 실행되어야하는 Linux 용 이식 가능한 Python 바이너리를 빌드하기위한 작업을 수행했습니다. 즉, 이식 가능한 Python 모듈에 필요한 바이너리 공유 라이브러리는 빌드의 일부이며 tarball에 포함되고 Python의 개인 디렉터리 구조에 설치됩니다. 이렇게하면 시스템에 설치된 Python을 방해하지 않고 애플리케이션 용 Python을 설치할 수 있습니다.

내 github 사이트 에는 Ubuntu Lucid 10.04 LTS에서 32 비트 및 64 비트 설치 모두에서 철저하게 테스트 된 빌드 스크립트가 있습니다. Debian Etch에서도 구축했지만 얼마 전 일이어서 변경하지 않았다고 보장 할 수 없습니다. 가장 쉬운 방법은 Ubuntu Lucid를 가상 머신에 넣고 스크립트를 체크 아웃 한 다음 스크립트 git clone git://github.com/wavetossed/pybuild.git를 실행하는 것입니다.

빌드 한 후에는 최신 Linux 배포판에서 tarball을 사용하십시오. 디렉토리 를 이동하기 전에 인터프리터 경로를 설정하기 /data1/packages/python272위해 포함 된 디렉토리 를 실행해야한다는 것 외에 다른 디렉토리로 이동하는 데 약간의 주름 이 있습니다 patchelf. 이것은 모든 바이너리에 영향을 미칩니다./data1/packages/python272/bin

이 모든 것은 RUNPATH로 빌드하고 종속 공유 라이브러리를 복사하는 것을 기반으로합니다. 스크립트가 여러 파일에 있지만 사실상 /etc/rc.d 디렉토리의 스타일로 배열 된 하나의 긴 쉘 스크립트입니다.


4
이전에 라이선스가 무엇이 었는지 모르겠지만 안타깝게도 현재는 Business Edition ($$$)을 구매하지 않는 한 외부 서버에서 ActivePython을 사용할 수 없습니다. activestate.com/compare-editions
Nate

2
패키지 관리자로 서버를 손상시키지 않으려면 타사 공급자의 스크립트에 의존합니까? huh
akostadinov

26

yum을 수행하거나 자신의 RPM을 만들 필요가 없습니다. python26소스에서 빌드하십시오 .

wget https://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
tar -zxvf Python-2.6.6.tgz
cd Python-2.6.6
./configure && make && make install

종속성 오류 사용 이있을 수 있습니다.

yum install gcc cc

에 설치 경로 ( /usr/local/bin/python기본값)를 추가합니다 ~/.bash_profile.

그것은 깨지지 않을 yum것입니다 python24.


1
참고 :이 작업을 수행하려면 AC 컴파일러가 필요합니다. 하나에 CentOS 5 (적어도 내가 PATH에 일이 없음)으로 주식을 오는 것처럼 보이지 않는다
코디 S

./configure를 & & 메이크업 & & 메이크업의 고도가 설치 ( toomuchdata.com/2014/02/16/how-to-install-python-on-centos )
luismartingil

24

아니, 그게 다야. 나중에 다시 컴파일 할 필요가 없도록 모든 선택적 라이브러리 헤더도 설치되어 있는지 확인하고 싶을 수 있습니다. 그것들은 내가 생각하는 문서에 나열되어 있습니다.

또한 .NET을 사용하면 표준 경로에서도 설치할 수 있습니다 make altinstall. 이렇게하면 현재 기본 "python"을 재정의하지 않습니다.


4
wget을 python.org/ftp/python/2.6.6/Python-2.6.6.tgz는 다음 ./configure를 그들에게 altinstall 만들기
올리비에 Refalo

12

Chris Lea 는 CentOS의 여러 관리 도구에 필요한 '기본'2.4와 공존 할 수있는 python26 RPM 용 YUM 저장소를 제공합니다.

적어도 나를 위해 일한 빠른 지침 :

$ sudo rpm -Uvh http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm
$ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CHL
$ sudo yum install python26
$ python26

3
CentOS 5.4에서는 작동하지 않았습니다. python26 패키지를 사용할 수 없습니다.
Joseph Turian 2010 년


3

파이썬 버전 (이 경우 python2.6)을 설치할 때 다음 명령을 실행하여 다음을 생성하십시오 virtualenv.

virtualenv -p /usr/bin/python2.6 /your/virtualenv/path/here/

2

파티에 늦었지만 OP는 Buildout 또는 Virtualenv 와 함께 가야 하고 문제를 완전히 피했습니다.

저는 현재 Centos 서버에서 작업하고 있습니다. 수고하는 것이 적절한 용어가 될 것입니다. 저는 모든 사람들에게 화재 경화 창과 동등한 소프트웨어를 사용하는 동안 눈물을 깜빡 일 수있는 유일한 방법은 빌드 아웃임을 확신 할 수 있습니다.


2
python2.4 만 설치된 경우 virtualenv를 사용하여 python2.6을 설치할 수 있습니까?
Collin Anderson

확실히. 내가 믿는 virtualenv에서 --no-site-packages 옵션을 사용하거나 빌드 아웃에서 파이썬을 빌드하십시오.
chiggsy 2010 년

아니요, virtualenv는 파이썬 모듈 / 패키지 및 해당 버전 만 처리합니다. 여전히 작동하는 파이썬 인터프리터 바이너리 (이미 시스템에 있음)를 가리켜 야합니다.
제이슨 Antman



1
rpm -Uvh http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CHL
rpm -Uvh ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/libffi-3.0.5-1.el5.kb.i386.rpm
yum install python26
python26

그냥 모르는 dos : =)


1
# yum groupinstall "Development tools"
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

Python 3.3.0 다운로드 및 설치

# wget http://python.org/ftp/python/3.3.0/Python-3.3.0.tar.bz2
# tar xf Python-3.3.0.tar.bz2
# cd Python-3.3.0
# ./configure --prefix=/usr/local
# make && make altinstall

Distribute for Python 3.3 다운로드 및 설치

# wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
# tar xf distribute-0.6.35.tar.gz
# cd distribute-0.6.35
# python3.3 setup.py install

Python 3.3 용 virtualenv 설치 및 사용

# easy_install-3.3 virtualenv
# virtualenv-3.3 --distribute otherproject

New python executable in otherproject/bin/python3.3
Also creating executable in otherproject/bin/python
Installing distribute...................done.
Installing pip................done.

# source otherproject/bin/activate
# python --version
Python 3.3.0

0

원래 버전의 파이썬 (2.6.6)을 제거하고 2.7 (옵션 포함 make && make altinstall)을 설치했지만 yum으로 무언가를 설치하려고하면 작동하지 않았습니다.

그래서 다음과 같이이 문제를 해결했습니다.

  1. # ln -s /usr/local/bin/python /usr/bin/python
  2. http://rpm.pbone.net/index.php3/stat/4/idpl/20270470/dir/centos_6/com/python-2.6 에서 RPM 패키지 python-2.6.6-36.el6.i686.rpm을 다운로드합니다 . 6-36.el6.i686.rpm.html
  3. 루트로 실행 rpm -Uvh python-2.6.6-36.el6.i686.rpm

끝난


-1

터미널에 다음 명령을 입력하여 CentOS 7에 Python 3.6을 설치합니다.

$ sudo yum install https://centos7.iuscommunity.org/ius-release.rpm

그런 다음 수행하십시오.

$ sudo yum install python36u 

36을 버전 번호로 바꾸면 3.6이 아닌 모든 버전을 설치할 수도 있습니다 (원하는 경우).

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