
python3.7을 설치했지만 기본 Python으로 만드는 방법을 잘 모르겠습니다.
아래를 참조하세요:
~/Documents/robosuite$ python3.7
Python 3.7.1 (default, Oct 22 2018, 11:21:55)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
KeyboardInterrupt
>>>
~/Documents/robosuite$ python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
명령을 사용할 때 python3.7이 표시되기를 원합니다.python3
답변1
간단한 해결책은 .bashrc
다음 줄을 편집하고 입력하는 것입니다.
alias python3=python3.7
쓸 때마다 python3
로 대체됩니다 python3.7
.
update-alternatives
또는 선호되는 명령을 사용할 수 있습니다 . 즉:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
따라서 여기가 python3.7
그보다 더 높은 우선순위를 갖습니다 python3.6
. 그런 다음 다음을 사용하십시오.
sudo update-alternatives --config python3
만족스러우면 Enter 키를 누르세요
답변2
나는 확장하고 싶다이전 답변주어진 두 가지 접근 방식은 동일하지 않으며 그 중 하나는 시스템을 손상시킬 수도 있습니다. 문제는 "기본 Python 버전 변경"을 통해 수행할 수 있는 두 가지 다른 작업이 있다는 것입니다.
빠른 요약
추가하다
alias python3=python3.7
에게 .bashrc
.
하다~ 아니다기본 Python 버전을 변경하는 데 사용하세요 update-alternatives
. 이렇게 하면 시스템 응용 프로그램이 중단됩니다.
자세한 내용
배쉬 별칭
첫 번째는 대화형 셸의 경우 간단히 다음을 작성하여 원하는 Python을 쉽게 열 수 있기를 원한다는 것입니다.
$ python
또는
$ python3
이는 다음 줄을 추가하여 수행됩니다.
alias python3=python3.7
에게 .bashrc
. 다른 쉘을 사용하는 경우 이를 적절한 구성 파일에 추가하십시오. 또한 어떤 이유로든 문제가 발생할 경우 문제가 있는 라인을 제거 .bashrc
하고 터미널을 다시 시작할 수 있다는 장점도 있습니다.
update-alternatives
"기본 Python 버전 변경"이 의미할 수 있는 두 번째 의미는 기본 Python 버전을 변경하는 것입니다.모두대화형 쉘에서 시작되지 않은 프로그램을 포함한 프로그램. 실행해 본 결과입니다
$ sudo update-alternatives --config python3
그러나 Debian/Ubuntu를 새로 설치한 경우 이 명령을 실행하면 명령이 반환되는 것을 볼 수 있습니다.
update-alternatives: error: no alternatives for python3
.NET을 통해 여러 버전의 Python 3이 설치되어 있는 경우에도 마찬가지입니다 apt
. 여기에는 아주 좋은 이유가 있습니다.
이것의 문제는 많은 시스템 응용 프로그램이 Python을 사용하고 정확한 배포에 따라 많은 시스템 응용 프로그램이 Python 3을 사용한다는 것입니다. 명령에 의해 전역 python3
적으로 호출되는 버전을 변경하면 이러한 응용 프로그램이 이 버전을 사용하게 됩니다. Python 3의 다른 버전은 대체로 호환되지만 여전히릴리스 간에 이동 및 제거된 기능. 시스템 애플리케이션이 이러한 기능을 사용하는 경우 python3
최신 버전을 실행하도록 변경하면 애플리케이션이 중단됩니다.
테스트
VM에 Ubuntu 18.04를 새로 설치했습니다. bash 별칭을 추가해도 즉각적인 문제는 발생하지 않았습니다.
update-alternatives
이 방법을 사용하면 apt
. 구체적으로, 내가 얻은
ModuleNotFoundError: No module named 'apt_pkg'
update-alternatives
메소드 를 실행한 경우 시스템 수정
실행하여 update-alternatives
고장이 난 경우 apt
에도 시스템을 고칠 수 있습니다. 테스트하는 동안에도 터미널을 열 수 있었습니다. 다음을 실행하여 기본 Python으로 돌아갈 수 있습니다.
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.X 1000
여기서 3.X는 시스템의 원래 Python 3 버전이고 1000은 최상위에 있는지 확인하기 위한 최우선 순위입니다. 그런 다음 실행할 수 있습니다.
$ sudo update-alternatives --config python3
원래 시스템 Python이 선택되어 있는지 확인하십시오. 시스템을 재부팅하면 정상으로 돌아옵니다.
답변3
$ sudo su
$ update-alternatives --install /usr/bin/python python /usr/bin/python3 1
... 이미 python3.7
설치된 경우
답변4
update-alternatives 명령이 없는 시스템의 경우 다음과 같은 빠르고 더러운 솔루션을 수행할 수 있습니다.
sudo ln -sf `which python3.7` `which python3`
일반적으로(적어도 내가 본 모든 경우에서) python3/python2/python은 특정 버전의 Python 실행 파일에 대한 심볼릭 링크일 뿐입니다. 이 심볼릭 링크를 변경하면 '기본 Python'이 변경되어야 합니다.