Snow Leopard에서 기본 Python 버전을 어떻게 변경합니까?


27

최근에 Mac OS X 10.5 Leopard 설치를 10.6 Snow Leopard로 업그레이드했으며, 업그레이드 된 버전의 Python 2.6.1 (2.5.1 대신)이 제공되었습니다. 이제 python터미널에 입력 해도 여전히

Python 2.5.1 (r251:54869, Apr 18 2007, 22:08:04) 
[GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

나는 /usr/bin/파이썬 2.6을 얻으려면 입력해야한다는 것을 알았습니다 python2.6.

질문은 : 어떻게 python명령을 파이썬 2.6에 매핑합니까?

답변:


21

그것은 간단합니다:

defaults write com.apple.versioner.python Version 2.6

man pythonApple의 자세한 설명을 참조하십시오 .

또한 하나의 문제는 컴퓨터와 함께 제공된 Python이 아닌 다른 컴퓨터와 함께 제공된 Python을 실행 중인지 확인하는 것입니다. which python명령 프롬프트 에 입력 하여이를 수행하십시오. 을 가리켜 야합니다 /usr/bin/python. Snow Leopard에서 기본값이 2.6이므로 Leopard를 사용할 때 2.5였습니다. 따라서 2.5를 받고 있다는 사실은 경로에 다른 것이 있음을 나타낼 수 있습니다.

최신 정보

아래에 의견을 제시하려면 :

이것은 사람들이 요구하는 것을하지 않습니다.

그것은 OS X 10.8.2에서 나를 위해합니다. 을 한 후에 defaults write com.apple.versioner.python Version 2.6파이썬의 기본 버전은 실제로 2.6입니다. (그리고 2.7로 다시 바꾼 후에도 마찬가지입니다.)

python직접 실행 하거나 실행 가능한 스크립트로 시작 하든 이것은 #!/usr/bin/env python예상되는 버전의 Python을 얻습니다.

이것은 현재 2.7을 가리키는 /System/Library/Frameworks/Python.framework/Versions의 심볼릭 링크를 해결하지 못합니다 (2.6으로 여전히 sys.path에 있기 때문에 문제가 발생할 수 있습니다!)

실제로, 그것은 그 심볼릭 링크를 수정하지 않습니다.

그러나, 짧은 스크립트 실행 print()을이야 sys.path와 2.6 라이브러리 디렉토리 (내 상대적으로 기본 설정에 적어도) 입니다 경로와 2.7 DIRS이 없는 경로에 있습니다. Current경로상의 심볼릭 링크 디렉토리 도 아닙니다 . 따라서 대부분의 스크립트에는 문제가되지 않습니다.

그러나 테스트되지 않았지만 Currentsymlink가 easy_install또는에 의해 사용될 수 있습니다 pip. 문제가 생길 수 있습니다. 파이썬 버전을 업데이트 할 때 심볼릭 링크가 업데이트되지 않는 버그처럼 보입니다.


3
당신이 옳았. 나는 오래 전에 MacPython을 설치하고 있음을 내 PATH 변수가 너무 망쳐했다 python지적했다 /Library/Frameworks/Python.framework/Versions/Current/bin. 당연히 그것은 2.6으로 업그레이드되지 않았습니다. 그래서 PATH 변수를 Google에서 찾은 기본 변수로 바꾸었고 이제 시스템에서 MacPython을 제거합니다.
SBSTN September

@ SBSTN 같은 문제가 있습니다 (파이썬 경로가 가리키는 /Library/Frameworks/Python.framework/Versions/Current/bin) 어떻게 변경합니까?
Zach

더 이상 / Library / Frameworks / Python *이 없어서 / code / bin / python이 다른 곳을 가리 키지 않기 때문에 Xcode4에서는 작동하지 않습니다. 어떤 아이디어? MacPorts는 솔루션이지만 설치하고 싶지 않습니다.
Alex

Xcode 4를 설치했는데 여전히 설명대로 작동합니다. /usr/bin/python링크가 아닌 실행 파일입니다. /usr/bin/python2.6를 가리키는 링크입니다 ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6. Python 실행 파일이 있다고 가정하면 /System/LibraryXcode의 버전 / 설치 여부와 상관없이 사용 가능해야합니다.
Nate

이것은 사람들이 요구하는 것을하지 않습니다. 왜 대답인지 잘 모르겠습니다.
010110110101 2019 년

12

Mac 포트를 사용하는 것이 좋습니다 ...

파이썬을 병렬로 사용할 수있는 python_select라는 패키지가 있습니다. 따라서 아직 설치되지 않은 경우 먼저 Mac 포트를 설치하십시오.

먼저 python_select 패키지를 설치하십시오 :

sudo port install python_select

이미 시스템에서 사용 가능한 파이썬 배포판을 확인할 수 있습니다. 다음 명령을 실행하십시오.

port select --list python     (MacPorts 2.x)
python_select -l              (MacPorts 1.x)

제 경우에는 기본적으로 Snow Leopard :와 함께 제공되는 적어도 파이썬 버전을 인쇄했습니다 python26-apple.

port select --show python     (MacPorts 2.x)
python_select -s              (MacPorts 1.x)

현재 선택된 버전을 표시합니다 (예 :) python26-apple. 이 패키지는 Mac과 잘 어울립니다. 더 많은 옵션 문제

port select                   (MacPorts 2.x)
python_select -h              (MacPorts 1.x)

포트 저장소에서 사용 가능한 파이썬 버전을 검색 할 수있는 것보다 :

port search python

이것은 긴 목록을 사용할 수있는 파이썬을 생성합니다.

원하는 패키지를 설치하려면, 예를 들어 python 2.4를 실행하십시오 :

sudo port install python24

이제 python_select -s새로 설치된 파이썬도 표시됩니다. Python 2.4 문제로 전환하려면

sudo port select --set python python24  (MacPorts 2.x)
sudo python_select python24             (MacPorts 1.x)

이 명령은 쉘간에 지속됩니다.


5

bash를 사용한다고 가정하면 다음을 입력하십시오.

% type -a python

PATH의 모든 "python"실행 파일, 별칭, 셸 내장 (아마도 없음) 또는 bash 함수가 표시됩니다.

이것은 여기서 무슨 일이 일어나고 있는지 더 잘 식별하는 데 도움이됩니다.


3

원하는 버전에 대한 심볼릭 링크를 만들려고합니다.

cd /Library/Frameworks/Python.framework/Versions 
sudo rm Current 
sudo ln -s /Library/Frameworks/Python.framework/Versions/2.6 Current

그러면 기본 Python 버전에 대한 현재 포인터가 제거되고 2.6 버전으로 설정됩니다.


1
이것은 내가 한 것과 비슷합니다. 그러나 대신 링크를 / usr / bin에 넣고 "python"(Apple이 넣은 이전 "python"실행 파일을 재정의 함)이라고했습니다. 따라서 : sudo ln -s /path/to/2.7 /usr/bin/python. 이것이 Linux에서 수행되는 방식이며 의미가 있습니다.
Nacht

0

이상적이지 않지만 (IMO) python내에서 찾는 모든 앱을 수정 했습니다 /usr/local/bin/.

sudo cp /usr/local/bin/python3 /usr/local/bin/python

물론 최신 Python 버전을 설치 한 후.


이것은 정말 나쁜 생각입니다. symlink를 사용하는 것은 이해할 수 있지만 바이너리를 앞뒤로 복사하는 것은 좋은 생각이 아닙니다.
Jakuje

나는 터미널에 python을 입력하고 Python3.x를 가리키고 싶습니다.
AGDM
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.