소개
Ubuntu에서 다수의 python 버전을 운영할 때, update-alternatives
를 이용하면, 손쉽게 python
버전을 변경할 수 있습니다.
update-alternatives
는 Debian 계열 시스템에서 다수의 패키지를 심볼릭 링크로 관리해 주는 명령어입니다. 해당 명령어는python
뿐만 아니라,jdk
와 같이 대부분의 패키지 버전을 관리하는데 사용할 수 있습니다.
현재 사용중인 Python 실행 위치 확인
which
명령어를 사용하면 현재 사용 중인 python의 실행 위치를 조회할 수 있습니다.
1 2 |
$ which python /usr/bin/python |
조회된 /usr/bin/python
파일을 ls
명령어로 조회해 보면, 심볼릭 링크이고 실제 python
바이너리가 다른 위치에 설치된 것을 확인할 수 있습니다.
1 2 |
$ ls -al /usr/bin/python lrwxrwxrwx 1 root root 24 6월 24 15:55 /usr/bin/python -> /usr/bin/python2.7 |
이미 다른 버전의 python
을 설치했다면 아래의 명령어로 설치된 python
버전들을 확인할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ ls /usr/bin/ | grep python python python2 python2.7 python2.7-config python2-config python3 python3.6 python3.6-config python3.6m python3.6m-config python3.7 python3.7-config python3.7m python3.7m-config ...... |
update-alternatives를 이용한 python 버전 변경
python 등록 여부 확인
update-alternatives --config python
명령어를 통해 update-alternatives
에 등록된 python
버전이 있는지 확인할 수 있습니다.
1 2 |
$ sudo update-alternatives --config python update-alternatives: error: no alternatives for python |
python 버전 등록 및 변경
현재는 등록된 python 버전이 없으므로, update-alternatives --install [symbolic link path] python [real path] number
명령어를 이용하여 python
버전을 등록합니다.
1 2 |
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2 |
update-alternatives --config python
명령어를 다시 입력하면 등록된 python
버전이 확인이 가능합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
sudo update-alternatives --config python There are 3 choices for the alternative python (providing /usr/bin/python). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/bin/python3.7 2 auto mode * 1 /usr/bin/python2.7 1 manual mode 2 /usr/bin/python3.6 1 manual mode 3 /usr/bin/python3.7 2 manual mode Press <enter> to keep the current choice[*], or type selection number: |
숫자를 입력하여 원하는 버전의 python
을 선택할 수 있습니다.