ubuntu 安装 python3.9

一、 相关背景

之前在dockerfile里面一直使用的是python3.8(忘记为什么选择这个版本了),想用python3.9,因为觉得3.8有点老了,而且3.9一个重要的feature,是把list作为默认的类型,不需要从typing 里面 import List作为数据类型了。
现在基于python3.8的dockerfile里面Python安装命令如下

apt-get install -y python3.8 python3-pip && ln -s /usr/bin/python3.8 /usr/bin/python

但是如果直接把python 3.8 换成python 3.9,会发现无法安装,找不到python3.9这个包,原因是因为ubuntu 的官方repo没有提供3.9版本的python

二、解决方案

  1. 安装python 3.9
apt-get update
apt-get install software-properties-common #
#  "software-properties-common" 是一个软件包,
# 该软件包提供了一些常用的工具和功能,用于管理软件源(repositories)和 PPA(Personal Package Archive)。
add-apt-repository ppa:deadsnakes/ppa
# Install py39 from deadsnakes repository
apt-get install python3.9 python3-pip
ln -s /usr/bin/python3.9 python
  1. 后处理
    不知道为什么最后build成的image 会有一个默认的3.8的python,在dockerfile里面所安装的python package都被和python 3.8进行了绑定,导致python 3.9 实际上没有和安装的package进行绑定。
    解决方案是添加下面两行代码 强行把python和python3都指向python3.9
rm /usr/bin/python3
ln -s /usr/bin/python3.9 python3

猜你喜欢

转载自blog.csdn.net/qq_29007291/article/details/132282911