如何在Homebrew Update之后运行Python2?

时间:2018-03-03 10:05:20

标签: python python-2.7 homebrew

我曾经安装了python和python3。所以我可以决定使用哪个python。我现在用自制软件更新了python,并将python3迁移到了python。我现在如何运行python2?

当我检查安装时,我得到了:

$ python -V
Python 3.6.4
$ python2 -V
-bash: python2: command not found
$ python3 -V
Python 3.6.4

如果我尝试简单地重新安装python2,我会得到:

$ brew install python2
Warning: python@2 2.7.14_1 is already installed

但是我不能使用python2。

python2: command not found

2 个答案:

答案 0 :(得分:3)

您错过了Homebrew从Cellar到您路径上实际bin目录的符号链接。

使用:

brew link python2

解决这个问题。

您可能会遇到警告:

  

警告:python @ 2只是keg,必须与--force链接注意这样做会干扰构建软件。

有关详细信息,请参阅this SO question的已接受答案。

在大多数情况下,您可以安全地使用

brew link --force python2

如果您没有计划构建自己的库,需要Python 2的源代码(libpython.soPython.h)。
如果您确实需要源代码,则需要提供包含路径和库路径,例如: /usr/local/Cellar/python/2.7.14_3/Frameworks/Python.framework/Versions/2.7/include/python2.7/usr/local/Cellar/python/2.7.14_3/Frameworks/Python.framework/Versions/2.7/lib/。但这是一个不同的主题或问题。

使用pip作为Homebrew的Python 2,最好用的是

python2 -m pip <command>

然后你可以清楚地看到你的pip命令所使用的Python,并将它与Python 3(python3 -m pip)区分开来。

注意

如果您有自制问题,首先要采取行动

brew doctor

错误消息通常非常有助于解决一些问题。

答案 1 :(得分:2)

似乎Homebrew已经改变了一些东西 - 因为同样的原因我通过Homebrew安装了python 2.7.x和3.x.x.初始更新后,python2将不再有效,但如果您使用python@2,则可以像以前一样获得访问权限。

然而,现在他们似乎已经部分地恢复了一些这些变化。现在调用python指向仅限keg的2.7.x自制安装而不是3.x.x安装。此外,python@2不再有效,但python2没有。 python3仍然像以前一样指向3.x.x安装。

[注意:我没有修改我的〜/ .bash_profile以进行任何这些更改。]