我正在尝试使用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
答案 0 :(得分:32)
您拥有大量的不同的Python安装,以及至少一个以前删除的Python安装。
正因为如此,我们不再建议直接运行pip
或pip3
,这是为什么的原因,
python3 -m pip install whatever
这可以确保您绝对肯定地运行pip
所指的python3
,而pip3
仅意味着您所运行的pip
some Python 3.x,它可能是您已安装的任何各种版本。
或者更好的是使用虚拟环境,因此您可以依靠python
和pip
是当前活动环境中的命令这一事实,而不必担心它们意味着什么系统-
但是,如果您想知道自己是如何陷入困境以及如何解决的话:
您的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成为python3
和pip3
的默认设置,请重做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.6
和 pip
存在于 ~/.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