文章目录
- 安装依赖项
- 依赖项介绍
- 下载python源码包
- 安装python源码包
安装依赖项
[root@Python ~]# dnf install -y gcc make zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel xz-devel libffi-devel uuid-devel libnsl2-devel
依赖项介绍
-
gcc: GNU Compiler Collection,GCC 是一个编译器系统,能够编译多种编程语言,包括 C、C++、Fortran、Ada 等。
-
make: 一个构建自动化工具,用于控制程序的编译过程。它通过读取名为 Makefile 的文件来管理项目的构建过程。
-
zlib-devel: zlib 库的开发头文件和静态库,用于数据压缩和解压缩。
-
bzip2-devel: bzip2 库的开发头文件和静态库,用于数据压缩和解压缩。
-
openssl-devel: OpenSSL 库的开发头文件和静态库,用于实现安全通信协议(如 HTTPS)。
-
ncurses-devel: ncurses 库的开发头文件和静态库,用于在终端上创建文本用户界面。
-
sqlite-devel: SQLite 数据库引擎的开发头文件和静态库,用于嵌入式数据库应用。
-
readline-devel: readline 库的开发头文件和静态库,用于提供命令行编辑和历史记录功能。
-
tk-devel: Tk GUI 工具包的开发头文件和静态库,用于创建图形用户界面。
-
gdbm-devel: GDBM 数据库库的开发头文件和静态库,用于简单的键值对存储。
-
xz-devel: xz 压缩工具的开发头文件和静态库,用于高效的数据压缩。
-
libffi-devel: libffi 库的开发头文件和静态库,用于调用外部函数接口(FFI)。
-
uuid-devel: UUID 库的开发头文件和静态库,用于生成和处理通用唯一标识符(UUID)。
-
libnsl2-devel: NIS (Network Information Service) 库的开发头文件和静态库,用于网络服务相关的功能。
下载python源码包
网址:https://www.python.org/downloads/source/
随便下载一个版本即可
安装python源码包
- 解压python源码包
[root@Python ~]# tar -zxvf Python-3.13.0.tgz
- 配置编译安装python
[root@Python ~]# cd Python-3.13.0
[root@Python Python-3.13.0]# ls
aclocal.m4 Doc Lib Objects Python
Android Grammar LICENSE Parser README.rst
config.guess Include Mac PC Tools
config.sub install-sh Makefile.pre.in PCbuild
configure InternalDocs Misc Programs
configure.ac iOS Modules pyconfig.h.in
[root@Python Python-3.13.0]# ./configure --enable-optimizations --with-lto --enable-shared --enable-loadable-sqlite-extensions --enable-option-checking=fatal --with-system-expat --with-openssl=/usr --prefix=/usr/local/python
[root@Python Python-3.13.0]# make
[root@Python Python-3.13.0]# make install
[root@Python Python-3.13.0]# make clean
[root@Python Python-3.13.0]# dnf clean all
- 设置环境变量
[root@Python ~]# cat .bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/binexport PATH="/usr/local/python/bin:$PATH"export PATH
- 环境变量生效
[root@Python ~]# source .bash_profile
- 测试是否安装成功
[root@Python ~]# python3
python3: error while loading shared libraries: libpython3.13.so.1.0: cannot open shared object file: No such file or directory
这里报错:缺少 libpython3.13.so.1.0
- 安装 libpython3.13.so.1.0
[root@Python ~]# dnf install -y python3-devel
[root@Python ~]# ln -s /usr/local/lib/libpython3.13.so.1.0 /usr/lib64/libpython3.13.so.1.0
[root@Python ~]# cat .bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/binexport PATH="/usr/local/python/bin:$PATH"export LD_LIBRARY_PATH=/usr/local/python/lib:$LD_LIBRARY_PATHexport PATH[root@Python ~]# source .bash_profile
[root@Python ~]# python3
Python 3.13.0 (main, Nov 13 2024, 06:27:34) [GCC 8.3.1 20191121 (Anolis 8.3.1-5.0.1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
安装完成