在 mac osx 上的 python 位置在哪里?

我有点搞不懂 MacOS 上的的 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,我发现与上面相同的信息。

我有点糊涂了,哪个是哪个?

518420 次浏览

在 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 二进制文件的路径(这可能与我上面提到的一样)。

我有一个在 linux/macos 中找东西的烹饪配方

首先更新定位数据库,然后执行

locate WHATiWANTtoSEARCH | less

找到你要找的东西。

更新您在 macos 中的定位数据库:

sudo /usr/libexec/locate.updatedb

有时候需要一段时间。希望这能帮上忙:)

[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中的项目应该始终是或链接到苹果在 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

我在这里找到的: /库/框架/Python 框架/版本/3.6/bin

安装了“ brewinstall python3”,可以在这里找到它 enter image description here

在高山上

which python

显示默认的 python,但是如果你从 python.org 下载并安装了最新版本,你可以通过以下方式找到它:

which python3.6

在我的机器上显示

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

我查看了一些类似的讨论,发现定位所有 python2/python3构建的最佳方法是:

which -a python python3

在交互式终端中运行此命令

import os
os.path

它将为您提供安装 python 的文件夹

这一个将 解决你所有的问题不仅对 麦克,但 在 Linux上也可以找到它(和每个基本的 shell)。

DR (您不必回答所有问题——只需回答前半部分)。
我们走

在终端运行:

which python3

在 Mac 上,你应该得到:

/usr/local/bin/python3

等等! ! ! 这可能是一个符号链接,你怎么知道的? 运行:

ls -al /usr/local/bin/python3

你会得到(如果你已经安装了 Python w/Brew) :

/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

只是备份(+ 酷的技巧,添加 .orig后缀到文件) :

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

which python3只是导致解释器在一条路径中安顿下来。

在. py 文件中运行以下代码:

import sys


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