2011-07-25 37 views
51

Jestem trochę zdezorientowany z python na osx. Nie wiem, czy poprzedni właściciel laptopa zainstalował macpython za pomocą macport. I przypomniałem sobie, że osx ma wbudowaną wersję Pythona. Próbowałem za pomocą type -a python a wynik zwracanylokalizacja python na mac osx

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

Jednak działa zarówno Pythona w tych miejscach dać mi [GCC 4.2.1 (Apple Inc. build 5646)] on darwin. Czy oba odnoszą się do tego samego wbudowanego Pythona Maca?

Czytałem też, że instalacja MacPython można by

 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... 

Spojrzałem na Applications, i jest tam MacPort folder python2.6 i wspomnianą rzeczy w nim. Ale uruchamiając IDLE, znajduję tę samą wiadomość, co powyżej.

Hmm Jestem trochę zdezorientowany. Który jest który?

Odpowiedz

34

[GCC 4.2.1 (Apple Inc. build 5646)] to wersja GCC, z której zbudowano Python (y), a nie wersja samego Pythona. Ta informacja powinna znajdować się w poprzedniej linii. Na przykład:

# 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. 
>>> 

Pozycje w /usr/bin powinna być zawsze lub link do plików dostarczonych przez firmę Apple w OS X, chyba że ktoś został źle advisedly zmieniające rzeczy tam. Aby zobaczyć dokładnie gdzie /usr/local/bin/python jest związany z:

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

W tym przypadku, to jest typowe dla zainstalowany Python.org przykład Python czy może to być jeden zbudowany ze źródeł.

33

W systemie Mac OS X jest to w środowisku Python pod numerem /System/Library/Frameworks/Python.framework/Resources.

Pełna ścieżka:

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

Btw jest to łatwe, aby dowiedzieć się, gdzie można znaleźć konkretny plik binarny: which Python pokaże ścieżkę Twój Python binarny (co jest prawdopodobnie taka sama jak napisałem wyżej) .

+0

tak, wiedziałem o tym. Po prostu jestem zdezorientowany - uruchomiłem interpreter w/usr/local/bin/i wydrukowałem sys.executable. Mówi/usr/bin/python. ale czytam dokumenty i jest napisane, że dostarczone jabłko było w/usr/bin/i "dowiązanie symboliczne do pliku wykonywalnego Pythona jest umieszczone w/usr/local/bin /". – goh

+0

Ma to sens: podczas samodzielnego kompilowania pliku python-executable i przenoszenia go do, powiedzmy/Users/John/Downloads /, pokaże on, że jest on umieszczony w katalogu/Users/John/Downloads/python. Możesz uruchomić wiele plików wykonywalnych obok siebie w tym samym systemie. AFAIK, ten w Python.framework jest podstawowym, więc powinieneś polegać na tym. – elslooo

+25

W rzeczywistości, Pythony dostarczone przez Apple w Mac OS X znajdują się w '/ System/Library/Frameworks/Python.framework'. Cokolwiek w '/ Library/Frameworks/Python.framework' pochodzi z instalacji innej firmy, zwykle instalatora python.org (lub innego dystrybutora) lub jeśli wykonałeś domyślną kompilację Pythona ze źródła. –

0

Mam przepis gotować dla znalezienia rzeczy w Linux/MacOS

najpierw zaktualizować db zlokalizować następnie zrobić

locate WHATiWANTtoSEARCH | less 

zrobić/znaleźć się znaleźć to, czego szukasz.

aby zaktualizować zlokalizować db MacOS to zrobić:

sudo /usr/libexec/locate.updatedb 

czasami zajmuje trochę czasu. Mam nadzieję, że to pomoże :)

24

znalazłem najprostszy sposób, aby go zlokalizować, można użyć

which python

pokaże coś takiego:

/usr/bin/python

0

znalazłem go tutaj: /Library/Frameworks/Python.framework/Versions/3.6/bin

3

zainstalowane z 'brew install python3', rzeczownik d to tutaj enter image description here