OS X Yosemite上的Python解释器 - 使用哪一个?

elg*_*lge 4 python osx-yosemite

我最近从Windows切换到Mac,安装PyCharm后我必须指定一个解释器.在下拉列表中,我可以选择3个口译员:

  1. MacintoshHD▸美国▸局部▸地窖▸python▸2.7.9▸框架▸Python.framework▸版本▸2.7▸bin
  2. MacintoshHD▸系统▸库▸框架▸Python.framework▸版本▸2.7▸bin
  3. MacintoshHD▸系统▸库▸框架▸Python.framework▸版本▸2.6▸bin

(实际上我可以看到最后一个文件夹中还有版本2.5和2.3,但这些在PyCharm中没有显示).

但是,如果我键入python终端然后键入

import sys
print sys.executable
Run Code Online (Sandbox Code Playgroud)

我得到:

  1. /usr/local/opt/python/bin/python2.7

为了让它更加混乱,当我在IPython Notebook中键入相同的东西(从终端使用ipython notebook)时,我得到:

  1. /usr/bin/python

问题:

  • 如果我想使用Python 2.7(我有3个选择),我应该使用哪一个?
  • 如何在这些解释器之间导航(如果我想pip install在不同的解释器上)?

Mar*_*ers 12

你真的只有两个 Python 2.7安装,以及你可以忽略的2.6 Python版本:

  • /usr/local/Cellar/用户安装(通过Homebrew).它将链接到/usr/local/opt目录结构:

    $ /usr/local/bin/python -c "import sys; print sys.prefix"
    /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7
    
    Run Code Online (Sandbox Code Playgroud)

    /usr/local/opt/python作为一个符号链接的Cellar目录:

    $ ls -la /usr/local/opt/python
    lrwxr-xr-x  1 mj  admin  22 Jan  5 18:36 /usr/local/opt/python -> ../Cellar/python/2.7.9
    
    Run Code Online (Sandbox Code Playgroud)

    此结构允许您在/usr/local树中轻松启用和禁用Python,而无需在以后再次需要时完全重新安装自制Python,以及在特定版本之间进行交换.

  • 2.7是当前版本,通过OS X软件本身使用(并有一些额外的库安装可能发生冲突,因为他们来之前 site-packages在Python包路径).它安装在/System/Library/Frameworks,但是/usr/bin/python/usr/bin/python2.7Python安装相同:

    $ /usr/bin/python -c "import sys; print sys.prefix"
    /System/Library/Frameworks/Python.framework/Versions/2.7
    
    Run Code Online (Sandbox Code Playgroud)
  • 2.6和其他文件夹适用于在以前版本的OS X 上需要特定版本的旧版软件; Apple似乎已经决定任何需要2.3或2.5的东西都可以在2.6下运行(并且它们在大多数情况下是正确的).

对于新软件开发,请使用2.7系统安装版本或Homebrew版本; 如果您需要在新的2.7.x版本中进行修复,后者更容易升级.但是,总是使用virtualenv来安装其他软件包,尤其是在使用OS X 2.7版本时.另请参阅PyCharm文档中的创建虚拟环境.

PyCharm否则允许您配置每个项目使用的解释器,请参阅Project Interpreter.

IPython是一个Python应用程序,它建立在Python之上.因此它与Python解释器绑定.哪一个取决于它的安装方式.您的操作系统与OS X Python 2.7解释器绑定,但您可以为brew版本安装它(pip如果为该Python安装正确安装,则使用该工具).