programing

yum을 깨지 않고 파이썬 업그레이드

copysource 2021. 1. 16. 20:40
반응형

yum을 깨지 않고 파이썬 업그레이드


최근 소스에서 컴파일하여 CentOS 컴퓨터에 Python 2.7.3을 설치했습니다. Python 2.7.3은 /opt/python2.7에 설치되어 있으며 설치했을 때 새 버전을 가리 키도록 / usr / bin / python을 변경했습니다. 내가 할 때 yum이 망가 졌기 때문에 이것은 분명히 잘못된 것입니다. 나는 다음을 얻을 것이다.

There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named yum

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.7.3 (default, May 15 2012, 17:45:42) 
[GCC 4.4.4 20100726 (Red Hat 4.4.4-13)]

If you cannot solve this problem yourself, please go to 
the yum faq at:
  http://yum.baseurl.org/wiki/Faq

나는 파이썬 2.6.6을 다시 가리 키도록 / usr / bin / python을 변경했지만 이제는 2.6.6이 파이썬의 기본 버전입니다. 이 문제를 해결하는 방법을 아십니까?


CentOS 6 및 CentOS 7에 Python 2 및 Python 3의 최신 버전을 설치하는 방법에 대한 빠른 가이드작성했습니다 . 현재 Python 2.7.13 및 Python 3.6.0을 다룹니다.

파이썬의 시스템 버전을 변경하면 안됩니다. 시스템을 망가 뜨리기 때문입니다. 원래 시스템 버전을 그대로두면 다른 버전을 설치할 수 있습니다. /usr/localconfigure를 실행할 때 사용자 지정 접두사 (예 :)를 사용하고 Python 빌드를 설치할 때 make altinstall일반 대신 사용하여 수행 할 수 있습니다 make install.

버전 번호를 포함한 전체 이름 (예 : "python2.7"또는 "pip2.7")을 입력하는 것을 기억하는 한 일반적으로 여러 버전의 Python을 사용할 수있는 것은 큰 문제가 아닙니다. virtualenv에서 모든 Python 작업을 수행하는 경우 버전 관리가 자동으로 처리되므로 virtualenv를 설치하고 사용하십시오!


vim `which yum`
modify #/usr/bin/python to #/usr/bin/python2.4

넣어 /opt/python2.7/bin당신의 PATH앞에 환경 변수 /usr/bin... 아니면 그냥 타이핑에 익숙해 python2.7.


pythonbrew 의 활성 포크 인 pythonz는이를 쉽게 만듭니다. 다음을 사용하여 버전을 설치할 수 있습니다.

# pythonz install 2.7.3

그런 다음 다음을 사용하여 심볼릭 링크를 설정하십시오.

# ln -s /usr/local/pythonz/pythons/CPython-2.7.3/bin/python2.7 /usr/local/bin/python2.7
# python2.7 --version
Python 2.7.3

ln -s /usr/local/bin/python2.7 /usr/bin/python

rpm 패키지를 사용해보고 싶다면 최신 Fedora rpm을 기반으로 바이너리 패키지를 설치할 수 있지만 다음에서 RHEL6 / CentOS6 / ScientificLinux-6 용으로 재 컴파일되었습니다.

http://www.jur-linux.org/download/el-updates/6/

친애하는,

플로리안 라 로슈


다음 명령을 지금 실행할 수 있다는 주석이 달린 글을 읽었습니다. 나는 자신을 시험하지 않았으므로 조심하십시오.

$ yum install -y epel-release
$ yum install -y python36

대신 이전 Python을 인터프리터로 가리 키도록 관련 스크립트 (예 : / usr / bin / yum)의 경로를 업데이트하는 것이 좋습니다.

이상적으로는 설치된 기본 Python에서 지원되도록 yum 및 관련 스크립트를 업그레이드하려고합니다.

이것이 가능하지 않은 경우 위의 내용은 완전히 실행 가능하고 테스트됩니다.

변화:

#!/usr/bin/python

위의 yum 개선을 할 수있을 때까지 이전 버전의 경로가 무엇이든간에.

위의 작업을 수행 할 수없는 경우는 격리 된 시스템이 있거나 rpm을 수동으로 업그레이드 할 시간이 없거나 표준 yum 저장소에 일시적 또는 영구적으로 연결할 수없는 경우입니다.

참조 URL : https://stackoverflow.com/questions/10624511/upgrade-python-without-breaking-yum

반응형