OS X에서 Python의 기본 버전을 3.x로 설정하는 방법은 무엇입니까?


329

Mountain Lion을 실행 중이며 기본 기본 Python 버전은 2.7입니다. Python 3.3을 다운로드하여 기본값으로 설정하고 싶습니다.

현재 :

$ python
    version 2.7.5
$ python3.3
    version 3.3

실행할 $ python때 마다 3.3이 열리 도록 어떻게 설정 합니까?



으로 파이썬 버전을 관리 할 수 ​​있습니다 pyenv.
Shin Kim

답변:


579

시스템 전체에서 기본 python 실행 버전을 변경하면 python2에 의존하는 일부 응용 프로그램이 중단 될 수 있습니다.

그러나 macOS의 기본 쉘 (10.14 이하의 bash; 10.15의 zsh)은 유사한 구문을 공유하므로 대부분의 쉘에서 명령의 별명을 지정할 수 있습니다. 당신은 = 'python3'당신의 별명 파이썬을 넣을 수있는 ~/.profile다음 소스를 ~/.profile당신의 ~/.bash_profile및 / 또는 ~/.zsh_profile라인 등으로 :

[ -e ~/.profile ] && . ~/.profile

이렇게하면 별칭이 여러 쉘에서 작동합니다.

이를 통해 pythoncommand는 이제 호출합니다 python3. 때때로 "원래"파이썬 ( python2 를 참조 ) 을 호출 command python하려면 별명을 그대로 유지하고 모든 쉘에서 작동하는을 사용할 수 있습니다 .

인터프리터를 더 자주 시작하면 (I do) 언제든지 추가 별칭을 추가하여 다음과 같이 추가 할 수 있습니다.

alias 2='python2'
alias 3='python3'

팁 : 스크립트의 경우 다음과 같은 shebang을 사용하지 않습니다.

#!/usr/bin/env python

사용하다:

#!/usr/bin/env python3

이런 식으로 시스템은 python3을 사용하여 python 실행 파일을 실행 합니다.


2
~ / .bash_aliases 대신 ~ / .bash_profile에 넣지 않아야합니까?
UnsettlingTrend

4
퍼팅 alias python=python3후 실행 python나를 위해 작동하지 않았다 OSX 엘 캐피 내 터미널에서. ~ / .bash_aliases와 ~ / .bash_profile을 모두 저장하려고했습니다.
Haymaker87

43
@ Haymaker87은 파일 source ~/.bash_profile편집 후 실행 ~/.bash_profile됩니다.
Wei Lu

15
pip에 대해서도 동일한 작업을 수행 할 수 있습니다.alias pip='pip3.6'
stephen

sudo로 실행할 때 문제를 일으키는 @ surfer190, 그렇지 않습니까?
Santosh Kumar

141

심볼릭 링크로 해결할 수 있습니다.

unlink /usr/local/bin/python
ln -s /usr/local/bin/python3.3 /usr/local/bin/python

24
이것은 정답입니다 (별칭은 훌륭하지만 bash로만 액세스 할 수 있으므로 호출 할 수있는 곳을 제한합니다). 그러나 심볼릭 링크를 제거 하는 unlink대신 대신 사용 합니다 rm(실수로 슬래시를 추가하면 rm결과가 좋지 않을 수 있습니다). 또는 ln -s -f ...현재 심볼릭 링크를 덮어 써야 할 수도 있습니다.
차드 Befus

2
@ChadBefus 답장을 보내 주셔서 감사합니다. 나는 당신의 의견에 동의합니다. 링크 해제는 rm보다 안전합니다.
Shin Kim

3
스크립트가 예상 python되는 결과 가 python2.7있습니까?
Anton Tarasenko

19
macOS :unlink: /usr/bin/python: Operation not permitted
MarksCode

4
@MarksCode는 두 번째 원래 줄을 실행하려고합니다 (예 : ln -s... with /local/ ).
EliadL

42

열기 ~ / .bash_profile에 파일.

vi ~/.bash_profile

그런 다음 별명을 다음과 같이 입력하십시오.

alias python='python3'

이제 파일을 저장 한 후 ~ / .bash_profile 파일 을 실행 하십시오.

source ~/.bash_profile

축하합니다 !!! 이제 python 을 입력하여 python3을 사용할 수 있습니다 .

python --version

파이썬 3.7.3


내가 한 것처럼 pip에 동일한 문제가 적용된다는 것을 알게되면 (즉, pip --version은 여전히 ​​2.7.x입니다) pip3에 대해 동일한 단계를 수행해야합니다. vi ~ / .bash_profile, 별칭 pip = 'pip3', 소스 ~ / .bash_profile, pip --version
SnellyBigoda

source ~/.bash_profile터미널을 다시 열 때마다 꼭 필요한 가요? 터미널을 닫았다가 다시 열면 python2로 돌아갑니다.
Ricky Aguilar

21

터미널 유형으로 이동 :

alias python=python3.x

이것은 기본 파이썬을 python3.x로 설정합니다.


1
이것은 나를 위해 일했지만 "alias python = python3"
Discant

이것은 일시적으로 해당 터미널 인스턴스에 대한 파이썬 버전을 설정합니다.
Ashwin R

12

다음은 나를 위해 일했습니다.

cd /usr/local/bin
mv python python.old
ln -s python3 python

10

나는 이것에 관한 게임에 조금 늦었지만, 나는이 문제가 방금 발생했기 때문에 업데이트 된 답변을 게시해야한다고 생각했다. 이것은 Mac 기반 설치에만 적용됩니다 (Windows 또는 Linux 버전에서는 시도하지 않았습니다).

이 작업을 수행하는 가장 간단한 방법은 Brew 를 통해 Python을 설치하는 것입니다 . 추출을 설치하지 않은 경우 먼저 추출해야합니다. 일단 설치되면 터미널에서 다음을 수행하십시오.

brew install python

Python 3이 설치됩니다. 설치가 끝나면 다음을 실행하십시오.

ls -l /usr/local/bin/python*

brew가 Python 설치로 만든 모든 링크를 볼 수 있습니다. 다음과 같이 보일 것입니다 :

lrwxr-xr-x  1 username  admin  36 Oct  1 13:35 /usr/local/bin/python3@ -> ../Cellar/python/3.7.4_1/bin/python3
lrwxr-xr-x  1 username  admin  43 Oct  1 13:35 /usr/local/bin/python3-config@ -> ../Cellar/python/3.7.4_1/bin/python3-config
lrwxr-xr-x  1 username  admin  38 Oct  1 13:35 /usr/local/bin/python3.7@ -> ../Cellar/python/3.7.4_1/bin/python3.7
lrwxr-xr-x  1 username  admin  45 Oct  1 13:35 /usr/local/bin/python3.7-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7-config
lrwxr-xr-x  1 username  admin  39 Oct  1 13:35 /usr/local/bin/python3.7m@ -> ../Cellar/python/3.7.4_1/bin/python3.7m
lrwxr-xr-x  1 username  admin  46 Oct  1 13:35 /usr/local/bin/python3.7m-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7m-config

이 예의 첫 번째 행은 python3심볼릭 링크 를 보여줍니다 . 기본 pythonsymlink 로 설정하려면 다음을 실행하십시오.

ln -s -f /usr/local/bin/python3 /usr/local/bin/python

설정되면 다음을 수행 할 수 있습니다.

which python

그리고 그것은 보여야합니다 :

/usr/local/bin/python

해당 쉘에서 새 심볼릭 링크를 사용하려면 현재 터미널 쉘을 다시로드해야하지만 새로 열린 모든 쉘 세션은 자동으로이를 사용해야합니다. 이를 테스트하려면 새 터미널 쉘을 열고 다음을 실행하십시오.

python --version

위대한 작품 ( 참고 자료 )
Nepo Znat


8

이것은 나를 위해 일했습니다. 별칭을 추가 하고 터미널을 다시 시작했습니다 .

alias python=/usr/local/bin/python3

6

나는 대부분의 사람들이 사용하여 ITerm 또는 무엇이든 thorugh zsh을를 사용하고 여기에 착륙 생각, 그것은 당신을 제공 이 답변 .

~/.zshrc대신 명령을 추가 / 수정해야합니다 .


3

OS X에서 사용할 수 있는지 확실하지 않지만 Linux에서는 module명령 을 사용합니다 . 여기를 보아라 .

모듈 파일을 올바르게 설정 한 다음 rc 파일에 다음과 같이 추가하십시오 (예 : ~ / .bashrc) :

module load python3.3

이렇게하면 시스템 기본값에 영향을주지 않고 로그인 할 때 필요에 따라 경로를 전환 할 수 있습니다.


3

파이썬을 설치할 때 ~ / .bash_profile 파일에 내보내기 경로 문을 넣습니다. 따라서 더 이상 Python 2를 사용하지 않으려는 경우 해당 명령문을 제거 할 수 있습니다. 위에서 언급 한 별칭도이를 수행하는 좋은 방법입니다.

~ / .bash_profile-vim ./.bash_profile에서 참조를 제거하는 방법은 다음과 같습니다 (AKA : export PATH = "/ Users / bla / anaconda : $ PATH"). 변경 사항을 저장하는 .bash_profile


그것은 일어나지 않습니다
co2f2e



1

를 사용하는 virtualenvwrapper경우을 사용하여 찾은 which virtualenvwrapper.sh다음 vim또는 다른 편집기를 사용하여 열고 다음을 변경하십시오.

# Locate the global Python where virtualenvwrapper is installed.
if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi

VIRTUALENVWRAPPER_PYTHON="$(command \which python)"을로 변경하십시오 VIRTUALENVWRAPPER_PYTHON="$(command \which python3)".


1

나에게 해결책은 PyCharm을 사용하고 기본 파이썬 버전을 내가 사용해야하는 버전으로 설정하는 것이 었습니다.

PyCharm을 설치하고 새 프로젝트의 파일 ==> 환경 설정으로 이동 한 다음 프로젝트에 원하는 인터프리터를 선택하십시오 (이 경우 Python 3.3



1

macports를 사용하는 경우 더 쉬운 방법이 있습니다.

운영:

port install python37

설치 후 기본값을 설정하십시오.

sudo port select --set python python37

sudo port select --set python3 python37

cmd 창을 다시 시작하십시오.


1

글쎄 ... 좀 낡았 어 그러나 여전히 좋은 대답이 필요합니다.

좋은 점은 Mac에서 기본 Python을 터치하고 싶지 않습니다.

Homebrew 또는 기타를 통해 필요한 Python 버전을 설치하고 virtualenv에서 사용하십시오. Virtualenv는 종종 쓰레기와 같은 것으로 간주되지만 시스템 전체에서 파이썬 버전을 변경하는 것 (macOS는 그러한 동작으로부터 스스로를 보호 할 가능성이 있음) 또는 사용자 전체, bash 전체에 관계없이 여전히 그렇습니다. 기본 파이썬은 잊어 버리십시오. venv와 같은 놀이터를 사용하는 것이 OS가 가장 감사 할 것입니다.

예를 들어, 많은 최신 Linux 배포판은 기본적으로 설치된 Python2를 제거하고 시스템에 Python3 만 남겨 둡니다. 그러나 python2가있는 오래된 것을 종속성으로 설치하려고 할 때마다 ... 내가 의미하는 바를 이해하기를 바랍니다. 좋은 개발자는 상관하지 않습니다. 훌륭한 개발자는 원하는 파이썬 버전으로 깨끗한 놀이터를 만듭니다.


0

Mac 사용자는 터미널에서 다음 코드를 실행하면됩니다.

brew switch python 3.x.x

3.xx 는 새로운 파이썬 버전이어야합니다.

모든 시스템 링크가 업데이트됩니다.


0

python을 python3에 별칭으로 제안하면 python 버전을 설정하는 가상 환경에 문제가 발생합니다 (예 : pyenv). pyenv를 사용하면 다음과 같이 버전을 전역 적으로 설정할 수 있습니다.

pyenv global 3.8.2

그런 다음 특정 프로젝트에서 파이썬 버전이 포함 된 .python 버전 파일을 만들 수 있습니다.

pyenv local 2.7.1

이것은 내 의견으로는 시스템에서 여러 버전의 파이썬을 관리하는 가장 좋은 방법입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.