从源码构建、编译和安装Python 3.13
📅 2024-12-17
构建需求 #
构建CPython所需的功能和最低版本要求如下:
- C11编译器。不需要支持C11的可选功能。
- OpenSSL 的最低版本为1.1.1,推荐最低版本为3.0.9,用于
ssl
和hashlib
扩展模块。 - SQLite的最低版本为3.15.2,用于
sqlite3
扩展模块。 - Tcl/Tk的最低版本为8.5.12,用于
tkinter
模块。 - 重新生成
configure
脚本需要Autoconf 2.71和aclocal 1.16.5。
准备工作 #
安装依赖和构建工具 #
1sudo apt-get update
2sudo apt-get upgrade
3sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev tk-dev
1sudo dnf -y update
2sudo dnf -y groupinstall "Development Tools"
3sudo dnf -y install wget gcc openssl-devel bzip2-devel libffi-devel xz-devel tk-devel
1curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
2sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
3yum clean all
4yum makecache
5
6yum install centos-release-scl-rh
7sed -i 's#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-rh#\#mirrorlist=mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-rh#g' /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
8sed -i 's#\#baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/rh/#baseurl=https://mirrors.aliyun.com/centos/7/sclo/$basearch/rh/#g' /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
9yum clean all
10yum makecache
11yum install devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils
12scl enable devtoolset-11 bash
编译安装新版openssl,要求3.0.9版本以上。
...