在Python自制成功后运行'pip'gives'命令未找到'

2024-04-29 03:07:20 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我对航站楼很不满意,请耐心等待。

当我运行pip时,我得到: zsh: command not found: pip

我已经在brew中安装了Python 2.7.11,这将允许pip工作 当我运行echo $PATH

/usr/local/sbin /Users/Nicolas/.composer/vendor/bin /Library/Frameworks/Python.framework/Versions/3.4/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin

我注意到/usr/local/bin/在其中,我知道这里是连接brew可执行文件的地方

当我运行which -a python时,我得到

/usr/local/bin/python
/usr/bin/python

所以——安装两个Python。我猜一个是本机OSX,一个是自制安装。 当我运行which python

/usr/local/bin/python

这就是调用python时运行的python,对吧? 当我运行ls -l $(which python)

lrwxr-xr-x  1 Nicolas  admin  34 Feb  3 14:26 /usr/local/bin/python -> ../Cellar/python/2.7.11/bin/python

我想这就是问题所在;我注意到有一个/python/2.7.11/libexec文件夹。。。

我也试过brew unlink python && brew link python但没有成功

当我尝试brew list python | grep pip时,我会得到一个非常长的结果列表

这可能是最重要的一个

/usr/local/Cellar/python/2.7.11/libexec/pip/pip/__init__.py

我不知道怎么从这里开始。。。我认为这与pip位于python/2.7.11/libexec而不是python/2.7.11/bin有关

我对这些东西并不熟悉;我对终端的了解非常有限。我不知道如何从这里开始。感谢您的帮助。


Tags: pipwhichbinusrlocalnotcommandcellar
2条回答

我在OSX上遇到了这个问题,在我的例子中,我最后列出了/usr/local/bin,发现我有来自pip2pip2.7pip3pip3.6的链接。我缺少的是来自pip的链接。我不知道这是否只是一个新标准的一部分,或者我是否遗漏了选择其中一个的内容,或者安装了Python 2和Python 3意味着我没有得到一个简单的pip命令。不管怎样,运行brew doctor都不会显示或解决任何问题。

在这种情况下,运行pip3pip2(而不是pip)似乎对我有好处。在我的例子中,我运行了pip3,所有的安装和运行都如预期的那样。

我的背景

我也遇到过同样的问题,我想可能是在升级到OSX10.11(ElCapitan)之后出现的。在尝试运行pip时,我得到了-bash: pip: command not found我还尝试了python -m pip,但也没有工作(no module found)。尝试通过自制程序取消链接并重新链接python时失败。

修复

我完全可以通过自制程序卸载并重新安装python来解决这个问题。

brew uninstall python && brew install python

如果还想删除较旧版本的python,请使用

brew uninstall --force python && brew install python

我现有的pip安装都没有受到影响,并且在我运行pip freeze时仍然会列出这些安装。重新安装后,二进制文件现在被符号链接到/usr/local/bin/pip,这在以前是不存在的。奇怪的是,在重新安装之前,/usr/local/Cellar/python/2.7.11/bin/pip中的实际二进制文件也不存在。

相关问题 更多 >