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

时间:2015-01-05 09:22:31

标签: python osx-yosemite

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

  1. MacintoshHD▸美国▸局部▸地窖▸三角形▸2.7.9▸框架▸Python.framework▸版本▸2.7▸bin
  2. MacintoshHD▸系统▸库▸框架▸Python.framework▸版本▸2.7▸bin
  3. MacintoshHD▸系统▸库▸框架▸Python.framework▸版本▸2.6▸bin
  4. (实际上我可以看到最后一个文件夹中还有版本2.5和2.3,但这些文件没有在PyCharm中显示)。

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

    import sys
    print sys.executable
    

    我得到:

    1. /usr/local/opt/python/bin/python2.7
    2. 为了让它更加混乱,当我在IPython Notebook中输入相同的东西时(使用ipython notebook从终端运行)我得到:

      1. /usr/bin/python
      2. 问题:

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

1 个答案:

答案 0 :(得分: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
    

    /usr/local/opt/pythonCellar目录的符号链接:

    $ 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
    

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

  • 2.7是当前的版本,由OS X软件本身使用(并且安装了一些额外的库,可能会在 {em>之前发生冲突在Python包路径中)。它安装在site-packages中,但/System/Library/Frameworks/usr/bin/python是相同的Python安装:

    /usr/bin/python2.7
  • 2.6和其他文件夹适用于需要在以前版本的OS X上使用特定版本的旧版软件; Apple似乎已经决定任何需要2.3或2.5的东西都可以在2.6下运行(并且它们在大多数情况下都是正确的。)

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

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

IPython是一个Python应用程序,它建立在Python之上。因此它与Python解释器绑定。哪一个取决于它的安装方式。您的操作系统与OS X Python 2.7解释器绑定,但您也可以 为brew版本安装它(如果为该Python安装正确安装,则使用$ /usr/bin/python -c "import sys; print sys.prefix" /System/Library/Frameworks/Python.framework/Versions/2.7 工具。)