Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在自制更新后运行Python2?_Python_Python 2.7_Homebrew - Fatal编程技术网

如何在自制更新后运行Python2?

如何在自制更新后运行Python2?,python,python-2.7,homebrew,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

我曾经安装过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

您缺少自制软件从Cell到路径上实际bin目录的符号链接

使用:

来解决这个问题

您可能会遇到以下警告:

警告:python@2是唯一的桶,必须与——force链接,注意这样做可能会干扰构建软件

有关这方面的详细信息,请参阅的已接受答案

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

brew link --force python2
如果您不打算构建自己的库,而这些库需要Python 2的源代码(
libpython.so
Python.h
) 如果确实需要源代码,则需要提供包含路径和库路径,例如
/usr/local/ceral/python/2.7.14_3/Frameworks/python.framework/Versions/2.7/include/python2.7
/usr/local/ceral/python/2.7.14_3/Frameworks/python.framework/Versions/2.7/lib/
。但这是一个不同的话题或问题


要将pip用于自制的Python 2,最好使用

python2 -m pip <command>

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

似乎Homebrew再次改变了情况,因为出于同样的原因,我通过Homebrew安装了python 2.7.x和3.x.x。初始更新后,
python2
将不再工作,但如果使用
python@2
您将像以前一样获得访问权限

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


[注意:我还没有修改我的~/.bash\u配置文件以使这些更改生效。]

使用旧的、过时的、苹果提供的
/usr/bin/python
我没有说过要使用
python
。我说过要使用
/usr/bin/python-V
您可以将
pip
作为您希望影响的python的一个模块来执行
/usr/bin/python-m pip安装——用户somePackage
@MarkSetchell应用提供的python似乎没有pip:
/usr/bin/python:没有名为pip的模块
@MarkSetchell有任何方法让“python”指向
/usr/bin/python
python3指向brew的python3,与以前一样?使用
brew link python2
会发出
警告:python@2keg是唯一的,必须与——force联系注意,这样做可能会干扰构建软件。
@OrtomalaLokni这是一个相关但不同的问题,只有在遇到实际问题时才相关。解释可以,但作为
python@2
alias
python2
现在只剩下桶了,我想知道
brew link python2
如何工作?使用
brew link--force
会在
brew doctor
中产生警告。
python2 -m pip <command>
brew doctor