无法找到包python-pip Ubuntu 20.04

32

我正在尝试安装mininet-wifi。在下载后,我一直使用以下命令进行安装:

    sudo util/install.sh -Wlnfv

然而,我一直收到以下错误:

    E: Unable to locate package python-pip

我已经尝试多次下载python-pip。我知道mininet-wifi使用的是Python 2而不是Python 3。我尝试使用以下命令下载python-pip:

    sudo apt-get install python-pip

但这会导致同样的错误:

    E: Unable to locate package python-pip

2
把这个问题报告给mininet-wifi作为一个bug可能是一个好主意。Python 2在今年年初已经终止生命周期,它不会再接收任何进一步的bug或安全修复程序。项目现在应该使用Python 3。 - omajid
尝试使用存储库宇宙:https://dev59.com/TVMI5IYBdhLWcg3wv-TL#55423104 - phd
Mininet-WiFi支持Python3。这似乎是与内部包相关的问题,而不是其他任何事情。值得一提的是,Ubuntu 20.04不再(本地)支持Python2。因此,您可能需要安装pip3。除非有充分的理由使用Python2... - Ramon Fontes
7个回答

68

Ubuntu 20.04的软件库中不包含Python 2的Pip。您需要使用get-pip.py脚本安装Python 2的Pip。


1. 首先启用宇宙仓库:

sudo add-apt-repository universe

2. 更新软件包索引并安装Python 2:

sudo apt update 
sudo apt install python2

3. 使用curl下载特定于Python 2.7的get-pip.py脚本:

curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py

4. 一旦启用了存储库,以sudo用户身份运行带有python2的脚本来安装pip:

sudo python2 get-pip.py


Pip 将被全局安装。如果您想将其仅安装在您的用户中,请不要使用 sudo 命令运行该命令。脚本还会安装 setuptools 和 wheel,这使您可以安装源分布。

通过打印 pip 版本号来验证安装:

pip2 --version

输出结果将类似于这样:

 pip 20.0.2 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)

2
那是一个很好的解决方案。谢谢。我遇到了你提到的“如果发生错误”的错误。我认为问题出在使用Python2.7和Ubuntu 20上。 - sundowatch
1
不起作用!root@farm:~# python --version Python 2.7.18 root@farm:~# python ./get-pip.py Traceback (most recent call last): File "./get-pip.py", line 24244, in <module> main() File "./get-pip.py", line 199, in main bootstrap(tmpdir=tmpdir) File "./get-pip.py", line 82, in bootstrap from pip._internal.cli.main import main as pip_entry_point File "/tmp/tmpc8gemv/pip.zip/pip/_internal/cli/main.py", line 60 sys.stderr.write(f"ERROR: {exc}") ^ SyntaxError: invalid syntax - a0s
1
如果你遇到错误,可以像答案中所说的那样使用 curl https://bootstrap.pypa.io/2.7/get-pip.py --output get-pip.py - Nwawel A Iroume
已执行了以上所有命令。在我的情况下,pip3已经安装,但错误仍然存在。 - Tasneem

5

由于Python 2已经过期,因此在20.04中很少包含Python 2的软件包。您需要手动安装Python 2的pip

首先,安装Python 2:

sudo apt install python2

然后,按照https://pip.pypa.io/en/stable/installing/的指示,使用python2安装:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python2 get-pip.py

您可以使用sudo运行第二步。如果不使用sudo,则需要根据安装提示更改PATH。或者,可能更好的选择(因为它不会更改PATH)是使用

python2 -m pip

每当你需要pip2时。


4
在我的情况下,使用curl命令下载get-pip.py文件后在运行sudo python get-pip.py时出现了语法错误。
但是通过访问https://bootstrap.pypa.io/手动下载get-pip.py文件对我而言运行良好。

谢谢,我也遇到了同样的问题。我认为在2021年1月之后,人们开始出现这个问题。 - 1UC1F3R616

2
我发现为Python 2.7创建一个虚拟环境也会安装pip。
$ virtualenv -p python2 venv
$ . venv/bin/activate
$ pip --version
pip 20.0.2 from /home/.../venv/lib/python2.7/site-packages/pip (python 2.7)

我觉得它只是安装在虚拟环境内,不是吗? - Vic Seedoubleyew

0

在mininet-wifi的install.sh文件中,将第202行中的${PYPKG}替换为python3,将第596行中的python-pip替换为python3-pip


-2
解决以下问题:
E: Unable to locate package python-pip

运行软件包更新索引命令:

sudo apt update

如果没有的话,那么python-pip-whl(也是一个包安装器)可以在universe存储库中找到,请确保已安装它,然后运行以下命令:
sudo apt-get install python-pip-whl

2
针对20.04的Python相关软件包列表中没有python-pip软件包。 - 9769953
python-pip-whl不能从Python包索引安装Python包吗? - Yuuty

-2

我特别需要一个Dockerfile文件,这是我放置在里面以使其无错误运行的内容,希望能对某些人有所帮助。

这是Dockerfile文件:

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python3 python3-dev
WORKDIR /app
COPY .  /app
ENV DEBUG=True
EXPOSE 80

我可能误解了:你确定这回答了问题吗? - Vic Seedoubleyew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接