mac osx上的python位置

goh*_*goh 83 python macos

我对osx上的python有点困惑.我不知道笔记本电脑的前任用户是否使用macport安装了macpython.我记得osx有内置版本的python.我尝试使用type -a python并返回结果

python is /usr/bin/python
python is /usr/local/bin/python
Run Code Online (Sandbox Code Playgroud)

然而,在这些位置运行两个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...
Run Code Online (Sandbox Code Playgroud)

我看着Applications,还有一个MacPort文件夹python2.6和里面提到的东西.但是运行IDLE,我发现了与上面相同的消息.

嗯,我有点困惑.哪个是哪个?

Ned*_*ily 55

[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.
>>>
Run Code Online (Sandbox Code Playgroud)

中的项目/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
Run Code Online (Sandbox Code Playgroud)

在这种情况下,这对于python.org安装的Python实例来说是典型的,或者它可以是从源代码构建的实例.


els*_*ooo 49

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

完整路径是:

/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Run Code Online (Sandbox Code Playgroud)

顺便说一下,很容易找到你可以在哪里找到一个特定的二进制文件:which Python将显示你的Python二进制文件的路径(可能与我上面发布的相同).

  • 实际上,Mac OS X中Apple提供的Pythons位于`/ System/Library/Frameworks/Python.framework`中.`/ Library/Frameworks/Python.framework`中的任何内容都来自第三方安装,通常是python.org(或其他分发服务器)安装程序,或者如果您从源代码执行Python的默认框架构建. (28认同)

Gav*_*vin 43

我找到了找到它的最简单方法,你可以使用

which python

它会显示如下:

/usr/bin/python

  • 这不能回答哪个发行版的Python(由谁发行)。 (3认同)

Koh*_*001 27

这个将解决你处理Python和Mac的所有问题:

如果你有Mac,你像我们大多数人一样安装python3 :)使用brew install

您的文件位于:

/usr/local/Cellar/python/3.6.4_4/bin/python3
Run Code Online (Sandbox Code Playgroud)

你怎么知道的?跑:

which python3
Run Code Online (Sandbox Code Playgroud)

你应该得到:

/usr/local/bin/python3
Run Code Online (Sandbox Code Playgroud)

现在这是一个象征性的联系,你怎么知道?跑:

ls -al /usr/local/bin/python3 
Run Code Online (Sandbox Code Playgroud)

你会得到:

/usr/local/bin/python3 -> /usr/local/Cellar/python/3.6.4_4/bin/python3
Run Code Online (Sandbox Code Playgroud)

这意味着你的

/usr/local/bin/python3 
Run Code Online (Sandbox Code Playgroud)

实际上是指向:

/usr/local/Cellar/python/3.6.4_4/bin/python3
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因,你的

/usr/local/bin/python3 
Run Code Online (Sandbox Code Playgroud)

并没有指向你想要的地方,在我们的例子中:

/usr/local/Cellar/python/3.6.4_4/bin/python3
Run Code Online (Sandbox Code Playgroud)

只需备份它:

cp /usr/local/bin/python3{,.orig} 
Run Code Online (Sandbox Code Playgroud)

并运行:

rm -rf /usr/local/bin/python3
Run Code Online (Sandbox Code Playgroud)

现在创建一个新的符号链接:

ln -s /usr/local/Cellar/python/3.6.4_4/bin/python3 /usr/local/bin/python3 
Run Code Online (Sandbox Code Playgroud)

现在你的

/usr/local/bin/python3
Run Code Online (Sandbox Code Playgroud)

指着

/usr/local/Cellar/python/3.6.4_4/bin/python3 
Run Code Online (Sandbox Code Playgroud)

通过运行检查:

ls -al /usr/local/bin/python3
Run Code Online (Sandbox Code Playgroud)

  • 终于……谢谢!!!!我在虚拟环境中遇到了这个问题。解决方案也有效。只需要使用正确的 python 位置 (3认同)
  • 这对我来说也是一个关于基本 shell 本身的有用参考 - 很多增量步骤,并且解释得很好:) (2认同)

小智 9

我检查了一些类似的讨论,发现找到所有 python2/python3 版本的最佳方法是:

which -a python python3
Run Code Online (Sandbox Code Playgroud)


Dan*_*yev 6

在高山脉

which python
Run Code Online (Sandbox Code Playgroud)

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

which python3.6
Run Code Online (Sandbox Code Playgroud)

在我的机器上显示

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
Run Code Online (Sandbox Code Playgroud)


Geo*_*zov 5

用“ brew install python3”安装,在这里找到 在此处输入图片说明