无法找到包 python-pip Ubuntu 20.04

Posted

技术标签:

【中文标题】无法找到包 python-pip Ubuntu 20.04【英文标题】:Unable to locate package python-pip Ubuntu 20.04 【发布时间】:2020-09-10 20:05:03 【问题描述】:

我正在尝试安装 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

【问题讨论】:

最好将此报告为针对 mininet-wifi 的错误。 Python 2 在今年年初就终止了。它不会收到任何进一步的错误或安全修复。项目现在应该使用 Python 3。 尝试存储库宇宙:***.com/a/55423104/7976758 Mininet-WiFi 支持 Python3。这似乎是内部包的问题,​​而不是其他任何事情。值得一提的是,Ubuntu 20.04 不再(本机)支持 Python2。所以你可能想安装 pip3。除非有充分的理由使用 Python2... 【参考方案1】:

适用于 Python 2 的 Pip 不包含在 Ubuntu 20.04 存储库中。 您需要使用 get-pip.py 脚本为 Python 2 安装 pip。


1.首先启用 Universe 存储库:

sudo add-apt-repository universe

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

sudo apt update 
sudo apt install python2

3.使用 curl 下载 get-pip.py 脚本:

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

4.启用存储库后,以 sudo 用户身份使用 python2 运行脚本以安装 pip:

sudo python2 get-pip.py

如果出现错误,作为后备,可以使用具体2.7版本的get-pip.py:

curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output 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)

【讨论】:

这是一个很好的解决方案。谢谢。我遇到了您提到的“如果发生错误”的错误。我认为问题在于在 Ubuntu 20 中使用 python2.7。 它不工作! 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 使用curl https://bootstrap.pypa.io/2.7/get-pip.py --output get-pip.py,如果您遇到错误,请在答案中说明。 完成以上所有命令。在我的情况下 pip3 已经安装但错误仍然存​​在【参考方案2】:

由于 Python 2 已结束生命周期,因此 20.04 中包含的 Python2 软件包很少。您必须手动为 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。

【讨论】:

【参考方案3】:

在我的例子中,用于下载 get-pip.py 的 curl 命令在运行 sudo python get-pip.py 时出现语法错误。

但是通过访问https://bootstrap.pypa.io/ 手动下载并下载get-pip.py 对我来说效果很好。

【讨论】:

谢谢,遇到了同样的问题。我认为在 2021 年 1 月之后人们会遇到这个问题【参考方案4】:

我发现为 Python 2.7 安装创建 virtualenv 也会安装 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)

【讨论】:

在我看来它只安装在虚拟环境中,不是吗?【参考方案5】:

python3 代替$PYPKG 放在mininet-wifi 的文件install.sh 的第202 行,而不是将python-pip 放在第596 行。

【讨论】:

【参考方案6】:

解决问题:

E: Unable to locate package python-pip

运行包更新索引cmd:

sudo apt update

如果不是这样,那么 python-pip-whl(它也是一个软件包安装程序)在 universe 存储库中可用,请确保已安装然后运行:

sudo apt-get install python-pip-whl

【讨论】:

list of Python-related packages for 20.04 显示没有 python-pip 包。 可以python-pip-whl 不安装来自python package index 的python 包吗?【参考方案7】:

我特别需要一个 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

【讨论】:

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

以上是关于无法找到包 python-pip Ubuntu 20.04的主要内容,如果未能解决你的问题,请参考以下文章

centos和ubuntu安装python-pip,python包的管理工具

Ubuntu:OpenJDK 8 - 无法找到包

无法在虚拟机上的 ubuntu-13 中找到包 virtualenv

Ubuntu中文语言包无法安装

ubuntu软件奇安信需要重新安装但是我没有找到这个安装包

CentOS7下安装python-pip