我想在Ubuntu 18.04 LTS上安装pipPython 3.8

我知道这已经被问了太多次了.但这些问题与具体保持Ubuntu的默认设置无关.这些问题的答案要么不起作用,要么继续暗示一些极端的事情,这会 destruct 系统——例如,将默认的python3版本从3.6更改为3.8.你是SHOULDN'T

到目前为止,我已经能够使用PPA-ppa:deadsnakes/ppa成功安装python3.8:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.8

使用update-alternativespython命令从python2更改为python3.8:

update-alternatives --remove python /usr/bin/python2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 10

现在,当我运行python --version时得到python 3.8:

Python 3.8.5

问题是,我仍然无法为Python 3.8安装pip

sudo apt install python3.8-pip

输出:

E:找不到包python3.8点

要在Ubuntu18.04上安装pipforPython 3.8,我该怎么做?

推荐答案

作为推荐的方式(我们可以直接使用Python module):

python -m pip --version

我就是这样安装的(因此可以直接调用):

sudo apt remove python-pip

现在,如果你在终端中写入pip,你会发现那里没有安装任何东西:

pip --version

输出:

找不到命令"pip",但可以安装以下命令:

sudo-apt安装python-pip

使用update-alternatives安装python3.8并在python命令上安装正确的版本(如问题中所述)

确保已安装python3-pip个:

sudo apt install python3-pip

这将把pip 9.0.1安装为pip3:

pip3 --version

输出:

来自/usr/lib/python3/dist包(python 3.6)的pip 9.0.1

现在,要为Python 3.8安装pip,我将pip称为python module(ironic!):

python -m pip install pip

输出:

收集pip

看起来,当我把pip(它是为Python3.6安装的,顺便说一句)作为Python3.8的一个模块调用,并安装了pip时,它实际上起到了作用

现在,确保在PATH环境变量中设置了~/.local/bin目录:

nano ~/.bashrc

并将以下内容粘贴到文件末尾

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

最后,找到.bashrc(或重新启动终端窗口):

source ~/.bashrc

现在,如果您try 直接运行pip,它将为您提供正确的版本:

pip --version

输出:

pip 20.2 from/home/qumber/.local/lib/python3.8/站点包/pip(python 3.8)

Sweet!

Python-3.x相关问答推荐

类型的可变性对变量的作用域有影响吗?

我在创建Pandas DataFrame时感到困惑

新行是pandas数据帧中旧行的组合

在REPLACE INTO中引用变量会抛出sqlite3.OperationalError

如何在类中的函数(以 self 作为第一个参数)中使用递归

如何键入提示函数,在 Python 中通过类decorator 添加到类中

DynamoDB - boto3 - batch_write_item:提供的关键元素与架构不匹配

从 h264 帧解析数据包时 PyAV 不一致

删除重复项,但将值相加为一

Pandas数据单调行为

在气流中运行 DAG 时出现处理信号:ttou消息

Visual Studio Code 中的 Python 3.x 类型提示

使用逗号时,除了处理程序中的语法无效

如何使 Python3 成为 Geany 中的默认 Python

为什么等效的 Python 代码要慢得多

为什么在 Python 中不推荐使用 MutableString?

使用 asyncio 的多个循环

如何在 QGraphicsView 中启用平移和zoom

Python 3.4 多处理队列比 Pipe 快,出乎意料

使用 Python 3 读取 CSV 文件