在Mac OS X上在python 2.7和python 3.5之间切换

Vis*_*ath 50 python macos terminal python-2.7 python-3.x

我通常使用Python 2.7,但最近在Mac OS X上使用Miniconda安装了Python 3.5.已经为这两个版本的python安装了不同的库.现在,在终端输入关键字'python'或'python3'中的任何一个调用python 3.5,'python2'返回'-bash:python2:command not found'.我现在如何使用别名'python2'和'python3'分别调用它们?

我目前正在使用OS X El Capitan.

小智 76

恕我直言,在macOS上使用两个不同的Python版本的最佳方法是通过homebrew.在macOS上安装homebrew后,在终端上运行以下命令.

brew install python@2
brew install python
Run Code Online (Sandbox Code Playgroud)

现在,您可以通过调用来运行Python 2.7 python2或通过调用来运行Python 3 python3.除此之外,您还可以使用virtualenvpyenv来管理不同版本的python环境.

我从未亲自使用过,miniconda但从文档中看,它看起来与使用pipvirtualenv组合相似.


小智 13

OSX的Python二进制文件(版本2)位于 /usr/bin/python

如果你使用which python它会告诉你python命令的解析位置.通常情况下,会发生的事情是第三方重新定义内容/usr/local/bin(优先级,默认情况下优先级/usr/bin).要修复,您可以/usr/bin/python直接运行以使用2.x或找到错误的重新定义(可能在您/usr/local/bin或其他地方PATH)


ish*_*007 5

我已经安装了python3(通过miniconda3),并且需要同时安装python2,在这种情况下brew install python将不会安装python2,所以您需要 brew install python@2

现在别名python2引用来自的python2.x/usr/bin/python

别名python3是指python3.x/Users/ishandutta2007/miniconda3/bin/python

python默认情况下,别名是指python3。

现在python用作python2的别名,我在.bashrc文件中添加了以下内容

alias python='/usr/bin/python'

要默认返回python3,只需在需要时删除此行。