python
프로그램 명령 파이썬 파이썬 (2) (3)가 사용 실행할 수있는 실행 python3
명령. python
명령을 사용하여 Python 3을 어떻게 실행할 수 있습니까?
python
는 의미로 유지되어야합니다 python2
. 필자는 시스템의 Python 문제를 해결하는 대신 응용 프로그램 특정 Python 버전을 사용하는 방법으로 의견을 의미했습니다.
python
프로그램 명령 파이썬 파이썬 (2) (3)가 사용 실행할 수있는 실행 python3
명령. python
명령을 사용하여 Python 3을 어떻게 실행할 수 있습니까?
python
는 의미로 유지되어야합니다 python2
. 필자는 시스템의 Python 문제를 해결하는 대신 응용 프로그램 특정 Python 버전을 사용하는 방법으로 의견을 의미했습니다.
답변:
간단한 안전한 방법은 별칭을 사용하는 것입니다. 이것을 파일 ~/.bashrc
또는 ~/.bash_aliases
파일에 넣으십시오 .
alias python=python3
파일에 위의 내용을 추가 한 후 source ~/.bashrc
또는을 실행하십시오 source ~/.bash_aliases
.
예를 들면 다음과 같습니다.
$ python --version
Python 2.7.6
$ python3 --version
Python 3.4.3
$ alias python=python3
$ python --version
Python 3.4.3
별명을 피하려면 command
내장 명령을 사용하십시오 .
$ command python --version
Python 2.7.6
별명을 피하는 또 다른 방법 \
은 명령 전에 사용 하는 것입니다.
$ \python --version
Python 2.7.6
현재 쉘에서 별명을 사용 불가능하게하려면 unalias
내장 명령을 사용하십시오 .
$ unalias python
$ python --version
Python 2.7.6
[2016 년 6 월] 전환에 대한 권장 정보는 공식 우분투 파이썬 페이지입니다.
로부터 우분투 위키 :
우분투와 데비안 모두 파이썬 3을 배포판에서 기본 선호하는 파이썬 버전으로 만들기위한 지속적인 프로젝트 목표가 있습니다.
이것이 의미 하지 않는 것 :
/usr/bin/python
파이썬 3를 가리 킵니다 아니, 이런 일이 않을 것입니다 (하지 않는 한 394 개 PEP 예측 가능한 미래에 대한 의문 인 지지자 기타)./usr/bin/python
및/usr/bin/python2
파이썬 2.7을 가리 킵니다 및/usr/bin/python3
지원되는 최신 파이썬 3 버전을 가리 킵니다.Python 2가 아카이브에서 제거됩니다. 아니요, 이런 일은 일어나지 않을 것 입니다. PEP 373이 2020 년까지 업스트림 버그 수정 유지 보수 지원을 약속 한다는 점을 감안하면 Python 2.7은 우분투에서 오랫동안 지원되고 사용 가능할 것으로 예상됩니다 .
다른 패키지 의존성으로 인해 심볼릭 링크를 변경하지 않는 것이 좋지만, 배포판에서 파이썬 3을 기본, 선호하는 파이썬 버전으로 만들기위한 지속적인 프로젝트 목표를 가지고 있습니다.
같은 CLI 사용의 경우, @Radu Rădeanu , 나는 사용자의 별칭을 두는 것이 좋습니다 ~/.bashrc
, .bash_aliases
(를 포함하여 다른 파일을, 파일 ~/.bash_profile
, 적어도 한 번로드, 조직의 목적을 위해 주로하지만, 플랫폼에 따라 다를 수 있습니다). 파이썬 가상 환경 도 잘 작동합니다.
별명 예 :
alias python=python3
또는
alias python='/usr/bin/python3'
스크립트는 여전히 #!/usr/bin/env python3
크로스 호환성 과 같은 것을 사용해야합니다 .
사용 env
은 가상 환경과의 혼합 사용에 좋습니다.
참고 (@wjandrea 덕분에) : 별칭은 사용자 환경이 아닌 bash 런타임의 일부입니다. 따라서 Shebang ( #!
) 에서는 사용할 수 없습니다 . 별명 python = python3을 선호하는 경우 program.py
shebang이없는 일부는 다음 과 같이 별명 해석기를 호출하여 실행될 수 있습니다 python program.py
. 앨리어싱은 3.4 및 3.6과 같이 여러 버전의 python3을 함께 사용하는 시스템에도 유용 할 수 있습니다.
python
하는 것은 변환이 완료 될 때까지 실제로 관련이 없습니다. 그래도 문제가되지 않을 수 있습니다.
python3
세방에서 사용해야 python
합니다.
명령 행 도구를 사용해 볼 수 있습니다 update-alternatives
.
$ sudo update-alternatives --config python
"python에 대한 대안 없음"오류가 발생하면 다음 명령을 사용하여 대안을 직접 설정하십시오.
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
/usr/bin/python3
원하는 파이썬 버전으로 경로 를 변경하십시오 .
update-alternatives
파이썬에 적합하지 않은 이유를 설명해 주 시겠습니까? legacy.python.org/dev/peps/pep-0394 때문 입니까?
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
우분투와 그 문제에 대한 나머지 Linux 배포판은 여전히 많은 응용 프로그램과 명령에 대해 Python 2.7에 크게 의존합니다. "python"의 기본 참조를 Python 3.x로 변경하면 여러 Python 함수에서 어설 션 오류가 발생하기 시작합니다.
예를 들어, Ubuntu에서 파일을 직접 편집하고 '#! / usr / bin / env python2.7'을 참조하도록 shebang을 변경하지 않으면 하나의 'pip'가 더 이상 올바르게 실행되지 않습니다. Red Hat, Fedora 및 CentOS와 같은 RHEL (Red Hat Enterprise Linux) 버전에서 'Yum'명령은 Python 2.7에 의존합니다.
여기서 요점은 상당한 양의 코드가 어설 션 오류를 발생시키기 시작하여 터미널에 'python'을 입력하여 Python 3.x를 참조 할 수 있다는 것입니다.
터미널에서 'python3'명령을 사용하고 Python 3.x 파일에서 shebang '#! / usr / bin / env python3'을 사용하는 것이 훨씬 좋습니다.
와 symlink /usr/bin/python
할 수 있습니다python3
sudo ln -s /usr/bin/python3 /usr/bin/python
Python 2 및 pip2가 다음과 같은 종속성으로 설치되지 않도록 할 수 있습니다.
sudo apt-mark hold python python-pip
이것을 원하지 않는 이유는 다른 답변을 참조하십시오. 우분투 18.04 이상은 더 이상 Python 2와 함께 제공되지 않으므로 너무 나쁘지 않아야합니다.
python
은 Python 2로 가정되므로 일부 문제가 발생할 수 있습니다.
python
->/usr/bin/python
update-alternatives
호환성 문제로 인해 다른 시간에 필요할 수있는 다른 버전의 프로그램을 제공 하는 데 사용할 수 있습니다 .
이 답변 은 다른 버전의 gcc / g ++를 동시에 유지하기 위해 설정하는 방법에 대한 좋은 예입니다.
python2.7 및 python 3.3과 동일하게 수행하십시오.