CentOS 6에서 Python을 3.9로 구성하려고 합니다.
내 단계는 다음과 같습니다.
[root@quickstart ~]# alternatives --install /usr/bin/python python /usr/local/bin/python3.9 10
[root@quickstart ~]# alternatives --config python
There is 1 program that provides 'python'.
Selection Command
-----------------------------------------------
*+ 1 /usr/local/bin/python3.9
Enter to keep the current selection[+], or type selection number: 1
[root@quickstart ~]# alternatives --display python
python - status is manual.
link currently points to /usr/local/bin/python3.9
/usr/local/bin/python3.9 - priority 10
Current `best' version is /usr/local/bin/python3.9.
[root@quickstart ~]# alternatives --set python /usr/local/bin/python3.9
하지만 python --version을 실행하면 여전히 2.6입니다.
[root@quickstart ~]# python --version
**Python 2.6.6**
[root@quickstart ~]#
편집: 이 단계를 수행한 후에도 $PATH의 첫 번째 매개변수에는 여전히 Python 2.6이 있습니다. 그럴 수 있을까? $PATH는 어디에 구성되어 있나요? /etc/bashrc도 ~/.bashrc도 없습니다.
[root@quickstart ~]# whereis python
python: /usr/bin/python2.6 /usr/bin/python /usr/bin/python2.6-config /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python3.9-config /usr/local/bin/python3.9 /usr/local/lib/python3.9 /usr/include/python2.6 /usr/share/man/man1/python.1.gz
[root@quickstart ~]#
편집 2: /etc/alternatives는 Python 3.9에서 사용할 수 있지만 전역적으로는 사용할 수 없습니다.
[root@quickstart alternatives]# pwd
/etc/alternatives
[root@quickstart alternatives]# ./python --version
Python 3.9.10
[root@quickstart alternatives]# python --version
Python 2.6.6
[root@quickstart alternatives]#
답변1
대안에 python2.6을 추가합니다.
sudo alternatives --install /usr/bin/python python /usr/local/bin/python2.6 5
그런 다음 python3.9를 기본값으로 설정합니다.
sudo alternatives --config python
또는 원하는 Python 버전으로 심볼릭 링크를 덮어씁니다.
sudo ln -fs /usr/bin/python3.9 /usr/bin/python