Linux中需手动安装Python3时,应优先使用系统包管理器(如apt/dnf),其次源码编译(注意用make altinstall),谨慎修改python默认指向,推荐pyenv管理多版本,并务必验证python3、pip及ssl模块可用性。

如果您在Linux系统中发现默认Python版本为2.x,而需要使用Python3进行开发或运行脚本,则需手动安装或升级Python解释器。以下是针对主流Linux发行版的多种安装与升级方法:
一、使用系统包管理器安装Python3
多数现代Linux发行版已将Python3作为独立软件包提供,无需编译源码即可快速部署,适合快速启用基础环境。
1、对于Ubuntu/Debian系统,执行:
sudo apt update && sudo apt install python3 python3-pip python3-venv
2、对于CentOS 7/RHEL 7,启用EPEL源后执行:
sudo yum install epel-release -y && sudo yum install python3 python3-pip python3-devel
立即学习“Python免费学习笔记(深入)”;
3、对于CentOS 8/RHEL 8或Fedora,直接执行:
sudo dnf install python3 python3-pip python3-devel
4、安装完成后验证:
python3 --version
此时系统中将存在 python3 命令可直接调用,但 python 命令仍指向 Python2(如存在)。
二、从源码编译安装Python3(支持自定义路径与最新版本)
当系统仓库未提供所需Python3版本(如3.11、3.12),或需完全控制安装路径、启用特定编译选项时,应采用源码编译方式。
1、安装编译依赖:
Ubuntu/Debian:sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libsqlite3-dev wget curl llvm libbz2-dev
2、CentOS/RHEL/Fedora:sudo dnf groupinstall "Development Tools" -y && sudo dnf install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
3、下载指定版本源码包(以3.12.3为例):
wget https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tgz
4、解压并进入目录:
tar -xf Python-3.12.3.tgz && cd Python-3.12.3
5、配置编译参数(推荐启用优化和共享库):
./configure --enable-optimizations --enable-shared --prefix=/usr/local
6、编译并安装(使用多核加速):
make -j$(nproc) && sudo make altinstall
注意:必须使用 make altinstall 而非 make install,避免覆盖系统默认的 python 命令。
三、修改默认python命令指向Python3(谨慎操作)
部分脚本依赖未带版本号的 python 命令,可通过创建符号链接或更新alternatives实现切换,但需确保不影响系统关键组件(如apt、yum等)。
1、检查当前python软链接:
ls -l $(which python)
2、Ubuntu/Debian系统推荐使用update-alternatives:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 && sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.12 2
3、交互式选择默认版本:
sudo update-alternatives --config python
4、CentOS/RHEL建议仅创建别名或用户级软链接,避免系统工具异常:
echo "alias python=python3" >> ~/.bashrc && source ~/.bashrc
警告:全局替换 /usr/bin/python 可能导致系统包管理器故障,请优先使用 python3 显式调用。
四、使用pyenv管理多版本Python(开发人员推荐)
pyenv允许在同一系统中并存多个Python版本,并按目录、shell或全局粒度灵活切换,不干扰系统Python,适合多项目协作场景。
1、安装pyenv依赖(同源码编译步骤中的开发工具包)
2、通过curl安装pyenv:
curl https://pyenv.run | bash
3、将pyenv路径加入shell配置文件(如~/.bashrc):
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
4、重启shell或执行:
source ~/.bashrc
5、列出可用版本并安装指定版本:
pyenv install --list | grep "3\.[1-9]"
pyenv install 3.12.3
6、设置全局或局部版本:
pyenv global 3.12.3(全局)
pyenv local 3.11.9(当前目录生效)
pyenv安装的Python自动包含pip,且所有操作均在用户空间完成,无需sudo权限。
五、验证安装完整性与运行环境
无论采用何种方式安装,均需确认解释器、包管理器及标准库功能正常,防止因动态库缺失或路径错误引发运行时异常。
1、检查Python3主程序与pip是否可用:
python3 --version && python3 -m pip --version
2、测试基础模块导入:
python3 -c "import sys; print(sys.version); import ssl; print(ssl.OPENSSL_VERSION)"
3、验证共享库链接(针对源码安装):
python3 -c "import ctypes.util; print(ctypes.util.find_library('python3.12'))"
4、若提示 libpython3.12.so 找不到,需添加库路径:
echo '/usr/local/lib' | sudo tee /etc/ld.so.conf.d/python3.12.conf && sudo ldconfig
关键验证点:python3 命令可执行、pip3 可安装包、import _ssl 不报错。









