一、 相关背景
之前在dockerfile里面一直使用的是python3.8(忘记为什么选择这个版本了),想用python3.9,因为觉得3.8有点老了,而且3.9一个重要的feature,是把list作为默认的类型,不需要从typing 里面 import List作为数据类型了。
现在基于python3.8的dockerfile里面Python安装命令如下文章来源:https://www.toymoban.com/news/detail-651906.html
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文章来源地址https://www.toymoban.com/news/detail-651906.html
二、解决方案
- 安装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
- 后处理
不知道为什么最后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
到了这里,关于ubuntu 安装 python3.9的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!