簡體   English   中英

mac osx 上的 python 位置

[英]python location on mac osx

我對 osx 上的 python 有點困惑。 我不知道筆記本電腦的前任所有者是否使用 macport 安裝了 macpython。 我記得 osx 有一個內置版本的 python。 我嘗試使用type -a python並返回結果

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

但是,在這些位置運行這兩個 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,我發現了與上面相同的消息。

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

[GCC 4.2.1 (Apple Inc. build 5646)][GCC 4.2.1 (Apple Inc. build 5646)] Python 的 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應該始終是或鏈接到 Apple 在 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/python@ -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python

在這種情況下,這對於安裝了 python.org 的 Python 實例來說是典型的,或者它可以是從源代碼構建的。

我找到了最簡單的方法來定位它,你可以使用

which python

它將顯示如下內容:

/usr/bin/python

這將解決您的所有問題,不僅適用於 Mac,而且適用於每個基本 shell -> Linux 也

如果您有 Mac 並且像我們大多數人一樣安裝了 python3 :)(使用 brew install - ofc)

您的文件位於:

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

你怎么知道? ->你可以在每個基本的 shell 上運行它:

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

在 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 二進制文件的路徑(這可能與我上面發布的相同)。

在高山脈

which python

顯示默認的 python,但如果您從 python.org 下載並安裝了最新版本,您可以通過以下方式找到它:

which python3.6

在我的機器上顯示

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

安裝了'brew install python3',在這里找到在此處輸入圖片說明

我檢查了一些類似的討論,發現找到所有 python2/python3 構建的最佳方法是:

which -a python python3

我在這里找到它:/Library/Frameworks/Python.framework/Versions/3.6/bin

which python3只是導致解釋器安定下來的路徑。

在 .py 文件中運行以下代碼:

import sys

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

我有一個在 linux/macos 中尋找東西的食譜

首先更新定位數據庫然后做

locate WHATiWANTtoSEARCH | less

做一個 /find 來找到你要找的東西。

要在 macos 中更新您的 locate db,請執行以下操作:

sudo /usr/libexec/locate.updatedb

有時需要一段時間。 希望這可以幫助 :)

在您的交互式終端中運行它

import os
os.path

它會給你安裝python的文件夾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM