我正在尝试使用 pip3
命令安装依赖项
当前场景:
Dev$ which python
/Users/Dev/anaconda/bin/python
Dev$ which python3
/usr/local/bin/python3
Dev$ pip --version
pip 10.0.1 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)
Dev$ pip3 --version
-bash: /usr/local/bin/pip3: /usr/local/opt/python3/bin/python3.6: bad
interpreter: No such file or directory
我不知道为什么我的 pip3
命令不起作用。
我试过这样的事情:
brew link --overwrite python
原文由 floss 发布,翻译遵循 CC BY-SA 4.0 许可协议
你有一大堆不同的 Python 安装,加上至少一个你删除的以前的 Python 安装。
像这样的情况正是为什么不再建议直接运行
pip
或pip3
的原因,有利于:This guarantees that you’re absolutely positively running the
pip
that goes with whateverpython3
means, whilepip3
just means you’re running thepip
这与 一些 Python 3.x 一起使用,它可能是您安装的各种不同的任何一个。或者,更好的是,使用虚拟环境,这样您就可以相信
python
和pip
是来自当前活动环境的命令,甚至不用担心它们的含义全系统。但是,如果你想知道你是如何陷入这种困境以及如何解决它的:
您的
python3
命令可能来自 Homebrew Python(您可以检查;ls -l /usr/local/bin/python3
并查看它是否是指向/usr/local/Cellar/python
中内容的符号链接)。您的
pip3
命令来自不存在的 Python 3。最有可能的是,您安装了另一个 Python 3,它覆盖了 Homebrew Python 3 中的pip3
,然后卸载了它,留下了损坏的pip
。最简单的做法就是
rm /usr/local/bin/pip3
。然后,假设您希望 Homebrew Python 成为python3
和pip3
的默认值,重做brew link python
命令。如果它向您显示任何警告或错误,您还有其他问题需要修复。 If not,/usr/local/bin/pip3
should now be the Homebrew 3.6pip
, andwhich pip3
should pick out/usr/local/bin/pip3
, and everything is good until the next当你安装另一个 Python 3 并覆盖一堆东西时。更好的解决方法是选择一种安装 Python 的方式——无论是 Anaconda、Homebrew、python.org 安装程序还是其他任何方式——并始终如一地使用它。卸载所有东西,重新安装你真正想要的那个,再也不要碰其他的。 (不幸的是,你仍然会被 Apple 的系统 Python 2.7 困住,但如果你只使用 3.x,那也没关系。)