pip3:错误的解释程序:没有这样的文件或目录

时间:2018-07-17 04:02:13

标签: python python-3.x macos pip

我正在尝试使用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 

6 个答案:

答案 0 :(得分:32)

您拥有大量的不同的Python安装,以及至少一个以前删除的Python安装。

正因为如此,我们不再建议直接运行pippip3,这是为什么的原因,

python3 -m pip install whatever

这可以确保您绝对肯定地运行pip所指的python3,而pip3仅意味着您所运行的pip some Python 3.x,它可能是您已安装的任何各种版本。

或者更好的是使用虚拟环境,因此您可以依靠pythonpip是当前活动环境中的命令这一事实,而不必担心它们意味着什么系统-


但是,如果您想知道自己是如何陷入困境以及如何解决的话:

您的python3命令可能来自Homebrew Python(您可以检查; ls -l /usr/local/bin/python3来查看它是否是/usr/local/Cellar/python中某个内容的符号链接)。

您的pip3命令来自一个不存在的Python 3。最有可能的是,您安装了另一个Python 3,该Python 3从Homebrew Python 3覆盖了pip3,然后将其卸载,从而留下了损坏的pip

最简单的方法就是rm /usr/local/bin/pip3。然后,假设您希望Homebrew Python成为python3pip3的默认设置,请重做brew link python命令。如果它显示任何警告或错误,则您还有其他要解决的问题。如果没有,/usr/local/bin/pip3现在应该是Homebrew 3.6 pip,而which pip3应该选择/usr/local/bin/pip3,直到下次您安装另一个Python 3并覆盖之前,一切都很好。一堆东​​西。

一个更好的解决方法是选择一种安装Python的方法(无论是Anaconda,Homebrew,python.org安装程序,还是其他任何方法),并始终使用该方法。卸载所有内容,重新安装您真正想要的一个,再也不要碰其他任何一个。 (不幸的是,您仍然会使用Apple的系统Python 2.7,但是如果只使用3.x,那就没关系了。)

答案 1 :(得分:1)

我会补充一点,也许对某人有帮助。

我现在有 python3.9 安装,但我收到一条错误消息,如 TS 报告:

/home/username/.local/bin/pip: bad interpreter: /usr/bin/python3.6: No such file or directory

我发现文件 pip3.6pip 存在于 ~/.local/bin 目录中,并带有以下 shebang(请注意指定了显式 Python 版本):

#!/usr/bin/python3.6

但是由于我的系统上没有 3.6 版本,所以调用

$ pip

显然会导致此错误。将 3.6 替换为 3.9 修复了它。

答案 2 :(得分:1)

我也有同样的问题。

对我来说,venv/bin/pip 中的 python 路径是错误的。

1.打开点:

<块引用>

gedit path/to/pip

#!/home/saeed/project-master/venv/bin/python3.9
# -*- coding: utf-8 -*-
import re
import sys

2.更正pip文件第一行的python路径:

#!/home/saeed/project/venv/bin/python3.9
# -*- coding: utf-8 -*-
import re
import sys

答案 3 :(得分:0)

请在当前环境中检查python版本,确保它是python3

答案 4 :(得分:0)

您可以尝试通过以下方式更改pip的python版本
vim /path/to/pip
然后使用所需的Python版本更改注释行(第一行)。

答案 5 :(得分:0)

IFS

我遇到了同样的情况,上面的程序正常运行后, Ubuntu 16.04.6 amd64