pip3: 错误的解释器: 没有那个文件或目录

新手上路,请多包涵

我正在尝试使用 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 许可协议

阅读 1.4k
2 个回答

你有一大堆不同的 Python 安装,加上至少一个你删除的以前的 Python 安装。

像这样的情况正是为什么不再建议直接运行 pippip3 的原因,有利于:

 python3 -m pip install whatever

This guarantees that you’re absolutely positively running the pip that goes with whatever python3 means, while pip3 just means you’re running the pip 这与 一些 Python 3.x 一起使用,它可能是您安装的各种不同的任何一个。

或者,更好的是,使用虚拟环境,这样您就可以相信 pythonpip 是来自当前活动环境的命令,甚至不用担心它们的含义全系统。


但是,如果你想知道你是如何陷入这种困境以及如何解决它的:

您的 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 成为 python3pip3 的默认值,重做 brew link python 命令。如果它向您显示任何警告或错误,您还有其他问题需要修复。 If not, /usr/local/bin/pip3 should now be the Homebrew 3.6 pip , and which 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,那也没关系。)

原文由 abarnert 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以尝试通过以下方式更改 pip 的 python 版本

vim /path/to/pip

然后用所需的 Python 版本更改注释行(第一行)。

原文由 A. Attia 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题