RHEL 7에서 Python 기본 버전을 2.7에서 3.7로 변경하는 방법

RHEL 7에서 Python 기본 버전을 2.7에서 3.7로 변경하는 방법

RHEL 7에서 Python 기본 버전을 2.7에서 3.7로 변경하는 방법.

RHEL7 가상 머신에 Python을 설치하려면 아래 단계를 따르세요.https://tecadmin.net/install-python-3-7-on-centos/

Python 버전을 확인하면 여전히 이전 버전이 인쇄됩니다.

답변1

RHEL 7 및 그 파생 제품은 Python 2에 크게 의존합니다. Python 2를 Python 3으로 완전히 교체하면 운영 체제의 여러 핵심 도구가 손상됩니다.

그렇지 않더라도 귀하의 질문은 우선 Python 2를 Python 3으로 완전히 대체하는 것이 좋은 생각이라는 잘못된 전제에 기반을 두고 있습니다. 대신, 두 가지를 나란히 설치하십시오.

어떻게? 우선, python3주요 버전 호환성 문제로부터 보호받을 수 있도록 항상 Python 3을 참조해야 합니다. Python 2가 다음과 같이 python호출 한다고 가정하는 스크립트셰르본 라인python3따라서 바이너리 Python 패키지가 올바르게 빌드되는 한 실제로는 바이너리의 이전 버전과 새 버전 및 이에 의존하는 모든 것 사이에 충돌이 없습니다.

/usr/bin/python이 "if"는 여러분을 괴롭힐 수 있습니다. 일부 패키저에서는 Python 3 패키지를 Python 3 패키지와 유사하게 만들었 기 때문에 충돌이 발생할 수 있습니다. 이러한 패키지는 표준 권장 사항을 무시하므로 두 패키지를 나란히 설치할 수 있습니다.

하나 얻는 것에 관해서는충돌하지 않는RHEL 7용 Python 3 패키지, 즉Stack Overflow에 대한 또 다른 답변이 잘 설명되어 있습니다..

답변2

나는 alternatives해결책을 추천하고 싶다

내 주문은 다음과 같습니다.

#!/bin/bash

alternatives --list | grep -i python
alternatives --install /usr/bin/python python /usr/bin/python2.7 1
alternatives --install /usr/bin/python python /usr/bin/python3.6 2
alternatives --install /usr/bin/python python /usr/local/bin/python3.7 3
alternatives --config python

답변3

표준 공식 설치(SCL 저장소 사용)가 있는 RHEL7에서 "scl 활성화" 명령을 통해 현재 셸의 python3 환경으로 전환합니다(참고: 제 경우에는 Python 3.6이 있습니다).

scl enable rh-python36 "/bin/bash"

특정 사용자가 자신의 환경에 맞게 Python3을 하드 구성하도록 설정하려면 다음을 수행하십시오(참고: "[some_user]"를 해당 사용자의 사용자 이름으로 바꾸십시오).

user=[some_user]; userhome=$(eval echo ~$user); echo ". /opt/rh/rh-python36/enable" >> ${userhome}/.bashrc

.bashrc는 로그인 및 비로그인 쉘 모두에 대해 로드되므로 이는 명령줄에서 실행되는 스크립트, 특정 cron 작업에 의해 실행되는 스크립트 등에 적용되어야 합니다. 그것이 하는 일은 기본 위치로 시스템 기본값 대신 Python3을 가리키도록 필수 환경 변수를 설정하는 것뿐입니다. 그렇게 간단합니다.

SCL에 대한 자세한 내용은 여기에서 찾을 수 있습니다. 이 개념을 이해하려면 다음 내용을 읽어 보시기 바랍니다.https://developers.redhat.com/products/softwarecollections/overview

관련 정보