2011-07-25 157 views
51

我對osx上的python有點困惑。我不知道筆記本電腦以前的所有者是否使用macport安裝了macpython。我記得osx有一個內置版本的python。我試着用type -a python並且將結果返回mac osx上的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,我發現和上面一樣的信息。

嗯我有點困惑。哪個是哪個?

回答

34

[GCC 4.2.1 (Apple Inc. build 5646)]是Python(s)構建的GCC版本,而不是Python本身的版本。這些信息應該放在前一行。例如:

# 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提供的,除非有人一直生病,特意改變事物存在的文件。要查看究竟在何處/usr/local/bin/python鏈接到:

$ 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 

在這種情況下,對於一個python.org安裝Python實例是典型的,也可能是一個從源代碼構建。

33

在Mac OS X上,它位於/System/Library/Frameworks/Python.framework/Resources的Python框架中。

完整路徑是:

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

順便說一句很容易找出你可以找到一個特定的二進制:which Python會告訴你你的Python程序的路徑(這可能是因爲我上面貼的一樣) 。

+0

是的,我知道這一點。它只是讓我感到困惑 - 我在/ usr/local/bin /上運行解釋器並打印sys.executable。它說/ usr/bin/python。但是我閱讀了文檔,它說蘋果提供的是在/ usr/bin /中,而macpython的「與Python可執行文件的符號鏈接放在/ usr/local/bin /」中。 – goh

+0

嗯,它是有道理的:當你自己編譯python可執行文件並將它移動到/ Users/John/Downloads /時,它會顯示它被放置在/ Users/John/Downloads/python。您可以在同一個系統上彼此相鄰運行多個可執行文件。 AFAIK在Python.framework中是最主要的,所以你應該依賴那個。 – elslooo

+25

實際上,蘋果提供的Mac OS X中的Pythons位於'/ System/Library/Frameworks/Python.framework'中。 '/ Library/Frameworks/Python.framework'中的任何內容都來自第三方安裝,通常是python.org(或其他分發者)安裝程序,或者如果您是從源代碼構建Python的默認框架構建。 –

0

我在Linux中找到的東西/ MacOS的

先更新定位數據庫廚師食譜然後做一個

locate WHATiWANTtoSEARCH | less 

做一個/查找找到你在找什麼。

更新的MacOS您找到分貝做到這一點:

sudo /usr/libexec/locate.updatedb 

有時需要一段時間。希望這會有所幫助:)

24

我發現找到它的最簡單的方法,你可以使用

which python

它會顯示這樣的事情:

/usr/bin/python

0

我發現在這裏: /庫/ Frameworks/Python.framework/Versions/3.6/bin

3

已安裝'brew install python3',foun d it here enter image description here