debian10 自己编译 python3.8

本文最后更新于:2020年8月16日 下午

apt 仓库罪大恶极,搞得民众怨声载道。

闲聊

之所以会要这么干,主要就是因为 apt 仓库不提供 python3.8 的源。而我自己利用开源的 telegrambot 自己搞的一个入群验证 Bot 发现要求 Python 版本在 3.8 以上。所以想了想,还是把这个搞定吧。

环境

我的环境是

  1. 系统版本 debian10

安装编译依赖包

apt update
apt-get install -y build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev tar wget vim

下载 Python3.8 源代码

mkdir download
cd download
wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz
tar -zxf Python-3.8.0.tgz
cd Python-3.8.0

编译并安装 Python3.8

./configure --enable-optimizations
make -j 4 # 如果你的系统有 8 核,可以使用 -j 8
make altinstall

这里要查看系统核心数量的话,可以参考我的这篇博客linux 查看系统核心数

确认安装成功

python3.8 --version

设置 Python 默认版本

rm -rf /usr/bin/python
ln -s /usr/local/bin/python3.8 /usr/bin/python

现在就可以用

python --version

看看是不是设置好了。
之后如果 pip 出现问题可以看我参考链接的第二个和第三个

参考

Ubuntu/Debian/Raspbian 源码编译安装 Python3.8 及默认版本选择配置
【Python】Ubuntu 修改默认 Python 版本
Python3 安装 pip 提示 ModuleNotFoundError: No module named ‘distutils.util’