Mac OSX의 Python 위치


94

나는 osx의 파이썬과 약간 혼란 스럽습니다. 랩톱의 이전 소유자가 macport를 사용하여 macpython을 설치했는지 모르겠습니다. 그리고 osx에는 내장 된 파이썬 버전이 있다는 것을 기억했습니다. 나는 사용해 보았고 type -a python결과가 반환되었습니다.

python is /usr/bin/python
python is /usr/local/bin/python

그러나이 위치에서 두 파이썬을 모두 실행하면 [GCC 4.2.1 (Apple Inc. build 5646)] on darwin. 둘 다 제공된 동일한 내장 Python Mac을 참조합니까?

또한 macpython 하나를 설치하면

     A MacPython 2.5 folder in your Applications folder. In here you
 find IDLE, the development environment that is a standard part of
 official Python distributions...

Applications나는를 보았고 거기에 언급 된 것들 MacPort과 함께 폴더가 python2.6있습니다. 하지만 IDLE을 실행하면 위와 같은 메시지가 나타납니다.

흠 좀 헷갈리네요. 어느 게 어느 건지?

답변:


63

[GCC 4.2.1 (Apple Inc. build 5646)]Python 자체의 버전이 아니라 Python이 빌드 된 GCC 버전입니다. 그 정보는 이전 줄에 있어야합니다. 예를 들면 :

# Apple-supplied Python 2.6 in OS X 10.6
$ /usr/bin/python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

# python.org Python 2.7.2 (also built with newer gcc)
$ /usr/local/bin/python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

의 항목은 /usr/bin누군가가 부주의하게 변경하지 않는 한 항상 OS X에서 Apple이 제공하는 파일이거나 링크되어야합니다. /usr/local/bin/python이 링크 된 위치를 정확히 보려면 :

$ ls -l /usr/local/bin/python
lrwxr-xr-x  1 root  wheel  68 Jul  5 10:05 /usr/local/bin/python@ -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python

이 경우 python.org에 설치된 Python 인스턴스에 일반적이거나 소스에서 빌드 된 인스턴스 일 수 있습니다.


53

Mac OS X에서는 /System/Library/Frameworks/Python.framework/Resources.

전체 경로는 다음과 같습니다.

/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python

Btw 특정 바이너리를 찾을 수있는 위치를 쉽게 찾을 수 which Python있습니다. Python 바이너리의 경로를 보여줍니다 (위에 게시 한 것과 동일 할 것입니다).


그래 나는 그것을 알고 있었다. 혼란 스럽습니다. / usr / local / bin /에서 인터프리터를 실행하고 sys.executable을 인쇄했습니다. / usr / bin / python이라고합니다. 그러나 나는 문서를 읽었고 애플이 제공 한 것은 / usr / bin /에 있고 macpython의 "A symlink to the Python executable is located in / usr / local / bin /"이라고 말합니다.
goh

python-executable을 직접 컴파일하고 / Users / John / Downloads /로 이동하면 / Users / John / Downloads / python에 위치하는 것으로 표시됩니다. 동일한 시스템에서 여러 실행 파일을 나란히 실행할 수 있습니다. 하지만 Python.framework에있는 AFAIK가 기본이므로 그에 의존해야합니다.
elslooo

28
실제로 Mac OS X에서 Apple이 제공하는 Python은 /System/Library/Frameworks/Python.framework. 의 모든 것은 /Library/Frameworks/Python.framework타사 설치, 일반적으로 python.org (또는 기타 배포자) 설치 프로그램에서 제공되거나 소스에서 Python의 기본 프레임 워크 빌드를 수행 한 경우입니다.
Ned Deily 2011

1
출력을 실행 /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7하면 ps aux표시되는 /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python이유는 무엇입니까? 심볼릭 링크라는 것이 보이지 않습니까? ( AskDifferent 에서이 질문을 )
Zitrax 2014

@ 팀 감사합니다. /Library/Frameworks/Python.framework/Versions/로 이동하면 2.7 (내가 설치 한 것)이 아니라 'Current'라는 별칭 파일을 볼 수 있습니다. 클릭하면 "The operation 'Current'의 원본 항목을 찾을 수 없기 때문에 경쟁 할 수 없습니다. "
Pyderman

53

가장 쉽게 찾을 수있는 방법을 찾았습니다.

which python

다음과 같이 표시됩니다.

/usr/bin/python


3
이것은 파이썬의 어떤 배포판 (누가 만들 었는지)에 대한 대답이 아닙니다.
Scott Prive

42

이것은 Python 및 Mac을 다루는 모든 문제해결합니다 .

Mac이 있고 우리 대부분처럼 python3을 설치했다면 :) (brew install-ofc 사용)

파일은 다음 위치에 있습니다.

/usr/local/Cellar/python/3.6.4_4/bin/python3

어떻게 아십니까? 운영:

which python3

다음을 받아야합니다.

/usr/local/bin/python3

이제 이것은 심볼릭 링크입니다. 어떻게 알 수 있습니까? 운영:

ls -al /usr/local/bin/python3 

그리고 당신은 얻을 것이다 :

/usr/local/bin/python3 -> /usr/local/Cellar/python/3.6.4_4/bin/python3

그것은 당신의

/usr/local/bin/python3 

실제로 다음을 가리키고 있습니다.

/usr/local/Cellar/python/3.6.4_4/bin/python3

어떤 이유로 든

/usr/local/bin/python3 

원하는 장소를 가리 키지 않습니다. 우리의 경우 :

/usr/local/Cellar/python/3.6.4_4/bin/python3

그냥 백업 :

cp /usr/local/bin/python3{,.orig} 

다음을 실행하십시오.

rm -rf /usr/local/bin/python3

이제 새 심볼릭 링크를 만듭니다.

ln -s /usr/local/Cellar/python/3.6.4_4/bin/python3 /usr/local/bin/python3 

그리고 지금 당신의

/usr/local/bin/python3

가리키는

/usr/local/Cellar/python/3.6.4_4/bin/python3 

다음을 실행하여 확인하십시오.

ls -al /usr/local/bin/python3

1
드디어 .... 감사합니다 !!!!! 나는 가상 환경에서이 문제를 겪고 있었다. 솔루션도 작동합니다. 올바른 파이썬 위치를 사용하기 만하면됩니다
Paul Jurczyk

6

하이 시에라에서

which python

기본 python이 표시되지만 python.org에서 최신 버전을 다운로드하여 설치 한 경우 다음을 통해 찾을 수 있습니다.

which python3.6

내 컴퓨터에 표시되는

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6

이것은 파이썬의 어떤 배포판 (누가 만들 었는지)에 대한 대답이 아닙니다.
Scott Prive


3

몇 가지 유사한 토론을 확인한 결과 모든 python2 / python3 빌드를 찾는 가장 좋은 방법은 다음과 같습니다.

which -a python python3

2

여기에서 찾았습니다 : /Library/Frameworks/Python.framework/Versions/3.6/bin


1

which python3 단순히 통역사가 자리를 잡는 경로가됩니다.


0

대화 형 터미널에서 실행

import os
os.path

파이썬이 설치된 폴더를 제공합니다


0

.py 파일에서 다음 코드를 실행합니다.

import sys

print(sys.version)
print(sys.executable)

-1

나는 리눅스 / macos에서 물건을 찾기위한 요리법을 가지고있다

먼저 위치 DB를 업데이트 한 다음

locate WHATiWANTtoSEARCH | less

/ find를 사용하여 찾고있는 것을 찾으십시오.

macOS에서 위치 DB를 업데이트하려면 다음을 수행하십시오.

sudo /usr/libexec/locate.updatedb

때때로 시간이 걸립니다. 도움이 되었기를 바랍니다 :)

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