无法找到包 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包的管理工具