CentOS 7及以上版本默认通过yum
(CentOS 7)或dnf
(CentOS 8+)提供Python 3基础版本(如CentOS 8默认Python 3.6)。使用包管理器安装可自动解决依赖关系,避免手动编译的复杂性,且更符合系统管理规范。例如:
# CentOS 7
sudo yum install -y python3 python3-pip
# CentOS 8+
sudo dnf install -y python3 python3-pip
这种方式安装的Python版本虽不是最新,但稳定性高,适合日常开发或系统管理任务。
若需要特定Python版本(如3.9+)或自定义配置,需从源码编译。关键依赖包包括:
gcc
、make
(通过sudo yum groupinstall -y "Development Tools"
安装);openssl-devel
(SSL支持)、bzip2-devel
(压缩支持)、libffi-devel
(外部函数接口)、zlib-devel
(压缩库)、readline-devel
(命令行编辑)、sqlite-devel
(数据库支持)。ModuleNotFoundError: No module named '_ssl'
),需及时通过yum
安装对应包。CentOS系统工具(如yum
、dnf
)高度依赖Python 2(CentOS 7)或Python 3(CentOS 8+)。禁止用make install
直接覆盖/usr/bin/python
,否则会导致系统工具无法运行。正确做法是使用make altinstall
,它会将新Python安装到独立目录(如/usr/local/python3
),并通过软链接(如/usr/bin/python3.9
)调用,不影响系统默认Python。
不同项目可能依赖不同版本的Python库(如Django 2.x与3.x),直接全局安装会导致版本冲突。强烈建议使用虚拟环境:
venv
模块(Python 3.3+内置)创建:python3 -m venv myenv # 创建虚拟环境
source myenv/bin/activate # 激活(CentOS 7需用`source /usr/local/python3/bin/activate`)
pip install
的包会安装到虚拟环境目录(如myenv/lib/python3.9/site-packages
),不会影响全局环境。项目结束后,用deactivate
退出虚拟环境。手动编译安装后,需将Python和pip的可执行文件路径添加到环境变量PATH
中,方便全局调用。编辑~/.bashrc
(用户级)或/etc/profile
(系统级)文件,添加:
export PATH=/usr/local/python3/bin:$PATH # 替换为实际安装路径
export PYTHON_HOME=/usr/local/python3 # 可选,用于标识Python安装目录
然后执行source ~/.bashrc
使配置生效。可通过which python3
验证路径是否正确。
libffi-devel
:编译时出现Could not build the ssl module
或ffi.h not found
,需安装libffi-devel
:sudo yum install -y libffi-devel
openssl-devel
),并在./configure
时指定路径:./configure --with-openssl=/usr/local/openssl
yum
)因Python版本变更无法运行,需保留/usr/bin/python
指向Python 2,或通过alternatives
工具管理多版本。若需同时使用多个Python版本(如Python 3.8与3.9),可通过以下方式切换:
update-alternatives
工具(CentOS自带):sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/python3.8/bin/python3 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/python3.9/bin/python3 2
sudo update-alternatives --config python3 # 交互式选择版本
/usr/bin/python3
的软链接指向,但需谨慎操作,避免影响系统工具。安装Python后,需升级pip
到最新版本(避免安全漏洞),并安装常用工具:
python3 -m pip install --upgrade pip # 升级pip
pip3 install virtualenv virtualenvwrapper # 虚拟环境管理工具(可选)
virtualenvwrapper
可简化虚拟环境的创建与管理(如mkvirtualenv
、workon
命令)。