기본 파이썬 버전을 변경하는 방법?


106

Mac에 Python 3.2를 설치했습니다. / Applications / Python 3.2 / Update Shell Profile.command를 실행 한 후 터미널에 python -V 를 입력 하면 Python 2.6.1 이라는 메시지가 나타납니다. 기본 Python 버전을 어떻게 변경할 수 있습니까?



.NET 을 사용하는 좋은 솔루션 은 opensource.com/article/19/5/python-3-default-mac 을 참조하십시오 pyenv.
토마스 Ahle

답변:


115

이는 이전 버전과의 호환성을 위해 바람직 할 수 있습니다.

Python3은 이전 버전과의 호환성을 깨뜨리고 'python'을 호출하는 프로그램은 아마도 python2를 예상합니다. python = python2가 예상되는 프로그램과 스크립트가 많을 것입니다.이를 변경하면 해당 프로그램과 스크립트가 손상됩니다.

아마도 당신이 찾고있는 대답은 당신이 이것을 바꾸지 말아야한다는 것입니다 .

그러나 셸에서 사용자 지정 별칭을 만들 수 있습니다. 그렇게하는 방법은 셸에 따라 다르지만 아마도alias py=python3

최신 버전의 python을 시작하는 방법에 대해 혼란 스러우면 적어도 Linux에서 설치를 그대로 python3두는 경우입니다 (위의 호환성 이유로 인해) . 따라서 명령으로 python3을 시작할 수 있습니다 .python2python3


36
이것은 유용한 정보이지만 질문은 "기본 파이썬 버전을 어떻게 변경할 수 있습니까?"였습니다. 그렇게하려는 사람들을 돕기 위해 무언가를 추가 할 수 있습니까?
dmeyerson

Mac에서 Python3을 설치하면 Python2도 그대로 유지됩니다. 그러나 "python"을 입력했을 때 실행되는 기본값을 변경하는 방법이있는 것 같습니다. 한 번 옵션을 보았습니다. "python --version"이 2.7.12를 표시하고 "python3 --version"이 3.7.0을 표시하는 그대로두기로 선택했습니다. 나는 질문이 그것을 변경하는 방법이라는 위의 dmeyerson에 동의합니다. 당신의 조언은 훌륭하지만 당신이 필요하다면 (또는 정말로, 정말로 원한다면) 바꿀 수있는 방법이 있습니다.
Rich Sadowsky

3
> 아마도 당신이 찾고있는 대답은 이것을 바꾸지 말아야한다는 것입니다. 그리고 여기서 나는 이것이 "어떻게 이것을 바꾸는가"라고 생각했습니다!
duane

2
정답입니다. 그렇게하면 OS의 중요한 구성 요소가 손상 될 수 있으므로 시스템 수준에서 어떤 python지점을 가리키는 지 변경하지 마십시오 . 대신 별도의 Python 3 설치 및 virtualen을 사용하여 "로컬"기본 Python을 제공하십시오.
Martijn Pieters

50

Python 3의 위치 확인

$ which python3
/usr/local/bin/python3

bash_profile에 별칭 쓰기

vi ~/.bash_profile  
alias python='/usr/local/bin/python3'

bash_profile 다시로드

source ~/.bash_profile

파이썬 명령 확인

$ python --version
Python 3.6.5

2
이것은 나쁜 해결책입니다. 수락 된 답변에서 언급했듯이 $ pythonpython 2에 예약되어 있습니다. python 2를 예상하는 컴퓨터에서 실행하는 모든 프로그램은 별칭으로 인해 python 3을 받게되며 예기치 않은 부정적인 결과를 초래할 수 있습니다.
Shonin

애플의 의도는 질문과 무관합니다.
duane

45

python.org 설치 프로그램을 사용하는 Mac OS X python3에서는 python. 현재 Python 2 버전 용으로 예약되어 있습니다. 를 사용 python3.2하여 해당 버전을 구체적으로 호출 할 수도 있습니다 .

$ which python
/usr/bin/python
$ which python3
/Library/Frameworks/Python.framework/Versions/3.2/bin/python3
$ cd /Library/Frameworks/Python.framework/Versions/3.2/bin/
$ ls -l
total 384
lrwxr-xr-x  1 root  admin      8 Apr 28 15:51 2to3@ -> 2to3-3.2
-rwxrwxr-x  1 root  admin    140 Feb 20 11:14 2to3-3.2*
lrwxr-xr-x  1 root  admin      7 Apr 28 15:51 idle3@ -> idle3.2
-rwxrwxr-x  1 root  admin    138 Feb 20 11:14 idle3.2*
lrwxr-xr-x  1 root  admin      8 Apr 28 15:51 pydoc3@ -> pydoc3.2
-rwxrwxr-x  1 root  admin    123 Feb 20 11:14 pydoc3.2*
-rwxrwxr-x  2 root  admin  25624 Feb 20 11:14 python3*
lrwxr-xr-x  1 root  admin     12 Apr 28 15:51 python3-32@ -> python3.2-32
lrwxr-xr-x  1 root  admin     16 Apr 28 15:51 python3-config@ -> python3.2-config
-rwxrwxr-x  2 root  admin  25624 Feb 20 11:14 python3.2*
-rwxrwxr-x  1 root  admin  13964 Feb 20 11:14 python3.2-32*
lrwxr-xr-x  1 root  admin     17 Apr 28 15:51 python3.2-config@ -> python3.2m-config
-rwxrwxr-x  1 root  admin  25784 Feb 20 11:14 python3.2m*
-rwxrwxr-x  1 root  admin   1865 Feb 20 11:14 python3.2m-config*
lrwxr-xr-x  1 root  admin     10 Apr 28 15:51 pythonw3@ -> pythonw3.2
lrwxr-xr-x  1 root  admin     13 Apr 28 15:51 pythonw3-32@ -> pythonw3.2-32
-rwxrwxr-x  1 root  admin  25624 Feb 20 11:14 pythonw3.2*
-rwxrwxr-x  1 root  admin  13964 Feb 20 11:14 pythonw3.2-32*

python.org에서 Python 2도 설치 한 경우 파일 이름이 겹치지 않는 유사한 프레임 워크 bin 디렉토리가 있습니다 (2to3 제외).

$ open /Applications/Python\ 2.7/Update\ Shell\ Profile.command
$ sh -l
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$ which python3
/Library/Frameworks/Python.framework/Versions/3.2/bin/python3
$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$ cd /Library/Frameworks/Python.framework/Versions/2.7/bin
$ ls -l
total 288
-rwxrwxr-x  1 root  admin    150 Jul  3  2010 2to3*
lrwxr-x---  1 root  admin      7 Nov  8 23:14 idle@ -> idle2.7
-rwxrwxr-x  1 root  admin    138 Jul  3  2010 idle2.7*
lrwxr-x---  1 root  admin      8 Nov  8 23:14 pydoc@ -> pydoc2.7
-rwxrwxr-x  1 root  admin    123 Jul  3  2010 pydoc2.7*
lrwxr-x---  1 root  admin      9 Nov  8 23:14 python@ -> python2.7
lrwxr-x---  1 root  admin     16 Nov  8 23:14 python-config@ -> python2.7-config
-rwxrwxr-x  1 root  admin  33764 Jul  3  2010 python2.7*
-rwxrwxr-x  1 root  admin   1663 Jul  3  2010 python2.7-config*
lrwxr-x---  1 root  admin     10 Nov  8 23:14 pythonw@ -> pythonw2.7
-rwxrwxr-x  1 root  admin  33764 Jul  3  2010 pythonw2.7*
lrwxr-x---  1 root  admin     11 Nov  8 23:14 smtpd.py@ -> smtpd2.7.py
-rwxrwxr-x  1 root  admin  18272 Jul  3  2010 smtpd2.7.py*

"현재 Python 2 버전 용으로 예약 됨"에 대한 링크가 있습니까?
Wildcard

python 3.4 및 python 3.7이있는 경우 터미널에서 python3을 입력하면 3.7이 아닌 python 3.4가 실행됩니다.이 문제를 해결하는 방법은 무엇입니까?
Ysh 19


19

옳은 일을하고, 옳은 일을하십시오!

---> 제로 터미널 열기,

-첫 번째 입력 python -V, 가능성이 다음과 같습니다.

Python 2.7.10

-두 번째 입력 python3 -V, 다음과 같이 표시 될 가능성이 있습니다.

Python 3.7.2

-세 번째 입력 where python또는 which python, 다음과 같이 표시 될 수 있습니다.

/usr/bin/python

--- 네 번째 입력 where python3또는 which python3, 다음과 같이 표시됩니다.

/usr/local/bin/python3

-다섯 번째로 ~/.profile file or ~/.bash_profileBash 또는 ~/.zshrczsh 아래 의 PATH 환경 변수 파일 하단에 다음 줄을 추가하십시오 .

alias python='/usr/local/bin/python3'

또는

alias python=python3

-Bash source ~/.bash_profile또는 source ~/.zshrczsh 에서 여섯 번째 입력 .

-일곱째 터미널을 종료합니다.

--- 여덟 번째로 터미널을 열고 입력하십시오 python -V.

Python 3.7.2

나는 그것을 성공적으로 시도했다.

다른 사람들은 ~/.bash_profile아래 zsh가 아닙니다 ~/.bash_profile.

대신 zsh 아래의 PATH 환경 변수 ~/.profile(또는 ~/.bash_file) ~/.zshrc.

여러분을 도와주세요!


16

경로에서 시스템 Python보다 먼저 "기본"Python을 변경합니다. 예를 들면 다음과 같습니다.

export PATH=/usr/local/bin:$PATH

내 가정은 이렇게하면 Mac에서 무언가를 깨뜨릴 수 있다는 것입니다. "python"별칭을 사용하는 많은 프로그램과 스크립트가 있기 때문입니다. 갑자기 PATH의 우선 순위 변경으로 인해 Python2가 아닌 Python3을 가리 키기 시작하면 무언가를 망칠 수 있습니다. 잠재적으로 전체 OS ... 그것은 내 가정이며 테스트되지 않았습니다.
Aivoric

3
모든 시스템 소프트웨어는 Python이 제공하는 시스템의 전체 경로를 사용합니다.
Adam Vandenberg 2015

2

빠른 Google 검색에 따르면이 업데이트는 열려있는 현재 셸에만 적용됩니다. python3을 입력하면 문제가 해결 될 수 있습니다. mac과 linux는 이와 같은 일이 일치하기에 충분히 비슷하기 때문입니다. 구글 검색 결과 링크.

또한 ninjagecko가 말했듯이 대부분의 프로그램은 아직 3.x로 업데이트되지 않았으므로 기본 Python을 3.x로 사용하면 응용 프로그램에서 사용되는 많은 Python 스크립트가 손상됩니다.


2

OS X 10.7.5 및 Python 3.4.2를 사용하고 있습니다. 입력 python3하고 실행하려는 것을 python 3을 사용하여 실행합니다 pyhton3 test001.py. 예를 들어 . 그것은 내가 만든 test001이라는 테스트 프로그램을 실행했습니다. 이게 도움이 되길 바란다.


5
Stack Overflow에 오신 것을 환영합니다! 귀하의 답변이 질문에 대한 실제 답변이 아닌 것 같습니다. 문제를 해결 하려면 stackoverflow.com/help/how-to-answer 에서 도움말을 참조하십시오 .
기타

내 Mac에서 python3을 작동 시키려고 몇 시간을 보냈습니다. 이전 'python'대신 'python3'을 입력하는 것이 트릭을 수행했습니다.
YCode

1

로 이동:

내 컴퓨터-> 속성-> 고급-> 환경 변수-> 시스템 변수

경로 변수에 python 2.7이 이미 추가되어 있고 기본 경로를 python 3.x로 변경한다고 가정합니다.

그런 다음 python2.7 경로 앞에 python3.5.x 폴더의 경로를 추가하십시오.

cmd 열기 : "python --version"을 입력합니다.

python 버전은 python 3.5.x로 변경됩니다.


3
그것이 Windows입니다.
찰스 로스

일부 IDE는 터미널 / cmds / 콘솔을 포함하고 환경 변수를 전파합니다. 임베디드 터미널 내부에서 변경 사항을 가져 오려면 IDE를 다시 시작하십시오.
UselesssCat 2018

0
sudo mv /usr/bin/python /usr/bin/python2
sudo ln -s $(which python3) /usr/bin/python

이것은 스크립트를 깨뜨리지 만 정확히 파이썬을 변경하는 방법입니다. python2.x 라고 가정하지 않도록 스크립트를 다시 작성해야합니다 . 이것은 귀하가 전화하는 장소 system또는 exec.


0

간단히 말해서 환경 변수의 경로를 변경하십시오!

Windows의 경우 :

  • 고급 System Settings > Advance (tab). 하단에서 찾을 수 있습니다'Environment Variables'

  • 를 두 번 클릭합니다 Path. Python 설치 중 하나의 경로가 표시되면 원하는 버전의 경로로 변경하십시오.


0

라이브러리가있는 python3의 실행 경로를 확인하십시오.

$ which python3
/usr/local/bin/python3  some OS might have /usr/bin/python3

bash_profile 파일을 열고 별칭 추가

vi ~/.bash_profile  
alias python='/usr/local/bin/python3' or alias python='/usr/bin/python3'

수정 사항을 적용하려면 bash_profile을 다시로드하십시오.

source ~/.bash_profile

python 명령을 실행하고 python3으로로드되는지 확인합니다.

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