Mountain Lion을 실행 중이며 기본 기본 Python 버전은 2.7입니다. Python 3.3을 다운로드하여 기본값으로 설정하고 싶습니다.
현재 :
$ python
version 2.7.5
$ python3.3
version 3.3
실행할 $ python
때 마다 3.3이 열리 도록 어떻게 설정 합니까?
pyenv
.
Mountain Lion을 실행 중이며 기본 기본 Python 버전은 2.7입니다. Python 3.3을 다운로드하여 기본값으로 설정하고 싶습니다.
현재 :
$ python
version 2.7.5
$ python3.3
version 3.3
실행할 $ python
때 마다 3.3이 열리 도록 어떻게 설정 합니까?
pyenv
.
답변:
시스템 전체에서 기본 python 실행 버전을 변경하면 python2에 의존하는 일부 응용 프로그램이 중단 될 수 있습니다.
그러나 macOS의 기본 쉘 (10.14 이하의 bash; 10.15의 zsh)은 유사한 구문을 공유하므로 대부분의 쉘에서 명령의 별명을 지정할 수 있습니다. 당신은 = 'python3'당신의 별명 파이썬을 넣을 수있는 ~/.profile
다음 소스를 ~/.profile
당신의 ~/.bash_profile
및 / 또는 ~/.zsh_profile
라인 등으로 :
[ -e ~/.profile ] && . ~/.profile
이렇게하면 별칭이 여러 쉘에서 작동합니다.
이를 통해 python
command는 이제 호출합니다 python3
. 때때로 "원래"파이썬 ( python2 를 참조 ) 을 호출 command python
하려면 별명을 그대로 유지하고 모든 쉘에서 작동하는을 사용할 수 있습니다 .
인터프리터를 더 자주 시작하면 (I do) 언제든지 추가 별칭을 추가하여 다음과 같이 추가 할 수 있습니다.
alias 2='python2'
alias 3='python3'
팁 : 스크립트의 경우 다음과 같은 shebang을 사용하지 않습니다.
#!/usr/bin/env python
사용하다:
#!/usr/bin/env python3
이런 식으로 시스템은 python3을 사용하여 python 실행 파일을 실행 합니다.
alias python=python3
후 실행 python
나를 위해 작동하지 않았다 OSX 엘 캐피 내 터미널에서. ~ / .bash_aliases와 ~ / .bash_profile을 모두 저장하려고했습니다.
source ~/.bash_profile
편집 후 실행 ~/.bash_profile
됩니다.
alias pip='pip3.6'
심볼릭 링크로 해결할 수 있습니다.
unlink /usr/local/bin/python
ln -s /usr/local/bin/python3.3 /usr/local/bin/python
unlink
대신 대신 사용 합니다 rm
(실수로 슬래시를 추가하면 rm
결과가 좋지 않을 수 있습니다). 또는 ln -s -f ...
현재 심볼릭 링크를 덮어 써야 할 수도 있습니다.
python
되는 결과 가 python2.7
있습니까?
unlink: /usr/bin/python: Operation not permitted
ln -s...
with /local/
).
열기 ~ / .bash_profile에 파일.
vi ~/.bash_profile
그런 다음 별명을 다음과 같이 입력하십시오.
alias python='python3'
이제 파일을 저장 한 후 ~ / .bash_profile 파일 을 실행 하십시오.
source ~/.bash_profile
축하합니다 !!! 이제 python 을 입력하여 python3을 사용할 수 있습니다 .
python --version
파이썬 3.7.3
source ~/.bash_profile
터미널을 다시 열 때마다 꼭 필요한 가요? 터미널을 닫았다가 다시 열면 python2로 돌아갑니다.
나는 이것에 관한 게임에 조금 늦었지만, 나는이 문제가 방금 발생했기 때문에 업데이트 된 답변을 게시해야한다고 생각했다. 이것은 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
심볼릭 링크 를 보여줍니다 . 기본 python
symlink 로 설정하려면 다음을 실행하십시오.
ln -s -f /usr/local/bin/python3 /usr/local/bin/python
설정되면 다음을 수행 할 수 있습니다.
which python
그리고 그것은 보여야합니다 :
/usr/local/bin/python
해당 쉘에서 새 심볼릭 링크를 사용하려면 현재 터미널 쉘을 다시로드해야하지만 새로 열린 모든 쉘 세션은 자동으로이를 사용해야합니다. 이를 테스트하려면 새 터미널 쉘을 열고 다음을 실행하십시오.
python --version
'응용 프로그램'으로 이동하여 'Python'폴더를 입력하십시오. 'Update Shell Profile.command'또는 이와 유사한 bash 스크립트가 있어야합니다. 해당 스크립트를 실행하면됩니다.
업데이트 : 업데이트하지 않아야하는 것처럼 보입니다. 기본 파이썬 버전을 변경하는 방법은 무엇입니까?
파이썬을 설치할 때 ~ / .bash_profile 파일에 내보내기 경로 문을 넣습니다. 따라서 더 이상 Python 2를 사용하지 않으려는 경우 해당 명령문을 제거 할 수 있습니다. 위에서 언급 한 별칭도이를 수행하는 좋은 방법입니다.
~ / .bash_profile-vim ./.bash_profile에서 참조를 제거하는 방법은 다음과 같습니다 (AKA : export PATH = "/ Users / bla / anaconda : $ PATH"). 변경 사항을 저장하는 .bash_profile
Mac에서 Python 3을 기본값으로 설정하는 올바른 방법과 잘못된 방법
이 기사에서는 기본 파이썬을 설정하는 세 가지 방법에 대해 설명합니다.
이 모든 방법들이 효과가 있습니다. 어느 쪽이 더 좋은지 결정합니다.
를 사용하는 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)"
.
macports를 사용하는 경우 별명이나 환경 변수를 가지고 놀 필요가 없습니다.이 Q & A에서 설명하는 macports가 이미 제공 한 방법 만 사용하십시오.
TL; DR :
sudo port select --set python python27
글쎄 ... 좀 낡았 어 그러나 여전히 좋은 대답이 필요합니다.
좋은 점은 Mac에서 기본 Python을 터치하고 싶지 않습니다.
Homebrew 또는 기타를 통해 필요한 Python 버전을 설치하고 virtualenv에서 사용하십시오. Virtualenv는 종종 쓰레기와 같은 것으로 간주되지만 시스템 전체에서 파이썬 버전을 변경하는 것 (macOS는 그러한 동작으로부터 스스로를 보호 할 가능성이 있음) 또는 사용자 전체, bash 전체에 관계없이 여전히 그렇습니다. 기본 파이썬은 잊어 버리십시오. venv와 같은 놀이터를 사용하는 것이 OS가 가장 감사 할 것입니다.
예를 들어, 많은 최신 Linux 배포판은 기본적으로 설치된 Python2를 제거하고 시스템에 Python3 만 남겨 둡니다. 그러나 python2가있는 오래된 것을 종속성으로 설치하려고 할 때마다 ... 내가 의미하는 바를 이해하기를 바랍니다. 좋은 개발자는 상관하지 않습니다. 훌륭한 개발자는 원하는 파이썬 버전으로 깨끗한 놀이터를 만듭니다.