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

flo*_*oss 22 python macos pip python-3.x

我正在尝试使用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
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我的pip3命令不起作用.

我尝试过这样的事情:

brew link --overwrite python 
Run Code Online (Sandbox Code Playgroud)

aba*_*ert 54

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

像这样的情况正是为什么不再推荐跑步pippip3直接推荐的原因,有利于:

python3 -m pip install whatever
Run Code Online (Sandbox Code Playgroud)

这可以保证你绝对正运行pip与任何去python3的手段,而pip3只是意味着你正在运行的pip,与去一些 Python的3.x的,它可以是任何你已经安装了各种的人的.

或者,甚至更好,使用虚拟环境,所以你可以依靠的事实,pythonpip从当前活动的环境的命令,甚至不用担心他们的意思全系统.


但是,如果你想知道你是如何陷入这个混乱以及如何解决它:

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

您的pip3命令来自不存在的Python 3.最有可能的是,你安装了另一个Python 3,它pip3从Homebrew Python 3中覆盖了它,然后卸载它,留下了一个破碎的pip背后.

最简单的方法就是rm /usr/local/bin/pip3.然后,假设你希望你的家酿的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,那就不重要了.)

  • 是否有 PEP 引用“不再建议直接使用 pip”? (3认同)
  • 您可以将“python3 -m pip ..”行更改为更详细的python3版本,例如“python3.10 -m pip..” (2认同)

小智 15

运行三个命令。

python -m pip uninstall pip
python -m ensurepip
python -m pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)


Sae*_*eed 14

我也有同样的问题。

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

1. 打开点:

gedit路径/到/pip

#!/home/saeed/project-master/venv/bin/python3.9
# -*- coding: utf-8 -*-
import re
import sys
Run Code Online (Sandbox Code Playgroud)

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

#!/home/saeed/project/venv/bin/python3.9
# -*- coding: utf-8 -*-
import re
import sys
Run Code Online (Sandbox Code Playgroud)


A. *_*tia 11

您可以尝试更改 pip 的 Python 版本,方法是
vim /path/to/pip
使用所需的 Python 版本更改注释行(第一行)。


cod*_*den 6

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

python3.9现在已经安装了,但收到类似 TS 报告的错误消息:

/home/username/.local/bin/pip: bad interpreter: /usr/bin/python3.6: No such file or directory
Run Code Online (Sandbox Code Playgroud)

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

#!/usr/bin/python3.6

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

$ pip

显然会导致这个错误。更换3.6即可3.9修复。