Python OS X Yosemite 上的口译员 - 使用哪一个?
Python interpreters on OS X Yosemite - which one to use?
我最近从 Windows 切换到 Mac,安装 PyCharm 后我不得不指定一个解释器。在下拉列表中,我可以在 3 位口译员之间进行选择:
- Macintosh HD ▸ usr ▸ local ▸ Cellar ▸ python ▸ 2.7.9 ▸ Frameworks ▸ Python.framework ▸ Versions ▸ 2.7 ▸ bin
- Macintosh HD ▸ 系统 ▸ 库 ▸ 框架 ▸ Python.framework ▸ 版本 ▸ 2.7 ▸ bin
- Macintosh HD ▸ 系统 ▸ 库 ▸ 框架 ▸ Python.framework ▸ 版本 ▸ 2.6 ▸ bin
(实际上我可以看到最后一个文件夹中还有 2.5 和 2.3 版本,但是 PyCharm 中没有显示)。
但是,如果我在终端中输入 python
,然后输入
import sys
print sys.executable
我得到:
/usr/local/opt/python/bin/python2.7
为了让它更加混乱,当我在 IPython Notebook 中键入相同的内容时(使用 ipython notebook
从终端运行)我得到:
/usr/bin/python
问题:
- 如果我想使用Python 2.7(我有3个可以选择),我应该使用哪个?
- 如何在这些解释器之间导航(如果我想
pip install
在不同的解释器上)?
您实际上只有 两个 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/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
此结构允许您在 /usr/local
树中轻松启用和禁用 Python,而无需完全重新安装自制程序 Python 如果您以后需要再次使用,也作为特定版本之间的交换。
2.7 是 current 版本,由 OS X 软件本身使用(并且安装了一些额外的库,它们可能会在它们出现时发生冲突before site-packages
在 Python 包路径中)。它安装在/System/Library/Frameworks
,但/usr/bin/python
和/usr/bin/python2.7
是相同的Python安装:
$ /usr/bin/python -c "import sys; print sys.prefix"
/System/Library/Frameworks/Python.framework/Versions/2.7
2.6 和其他文件夹用于在 OS X 的 previous 版本上需要特定版本的遗留软件; 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 版本安装它(如果正确使用 pip
工具为 Python 安装而安装)。
我最近从 Windows 切换到 Mac,安装 PyCharm 后我不得不指定一个解释器。在下拉列表中,我可以在 3 位口译员之间进行选择:
- Macintosh HD ▸ usr ▸ local ▸ Cellar ▸ python ▸ 2.7.9 ▸ Frameworks ▸ Python.framework ▸ Versions ▸ 2.7 ▸ bin
- Macintosh HD ▸ 系统 ▸ 库 ▸ 框架 ▸ Python.framework ▸ 版本 ▸ 2.7 ▸ bin
- Macintosh HD ▸ 系统 ▸ 库 ▸ 框架 ▸ Python.framework ▸ 版本 ▸ 2.6 ▸ bin
(实际上我可以看到最后一个文件夹中还有 2.5 和 2.3 版本,但是 PyCharm 中没有显示)。
但是,如果我在终端中输入 python
,然后输入
import sys
print sys.executable
我得到:
/usr/local/opt/python/bin/python2.7
为了让它更加混乱,当我在 IPython Notebook 中键入相同的内容时(使用 ipython notebook
从终端运行)我得到:
/usr/bin/python
问题:
- 如果我想使用Python 2.7(我有3个可以选择),我应该使用哪个?
- 如何在这些解释器之间导航(如果我想
pip install
在不同的解释器上)?
您实际上只有 两个 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/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
此结构允许您在
/usr/local
树中轻松启用和禁用 Python,而无需完全重新安装自制程序 Python 如果您以后需要再次使用,也作为特定版本之间的交换。2.7 是 current 版本,由 OS X 软件本身使用(并且安装了一些额外的库,它们可能会在它们出现时发生冲突before
site-packages
在 Python 包路径中)。它安装在/System/Library/Frameworks
,但/usr/bin/python
和/usr/bin/python2.7
是相同的Python安装:$ /usr/bin/python -c "import sys; print sys.prefix" /System/Library/Frameworks/Python.framework/Versions/2.7
2.6 和其他文件夹用于在 OS X 的 previous 版本上需要特定版本的遗留软件; 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 版本安装它(如果正确使用 pip
工具为 Python 安装而安装)。