一、系统级基础依赖库
在CentOS上安装Python及依赖库前,需先安装系统级的编译工具和基础开发库,这些是编译Python源码、运行部分Python库(如numpy
、scipy
)的前提:
gcc
、make
等编译工具,用于从源码编译Python或第三方库。sudo yum groupinstall "Development Tools" -y # CentOS 7/8/9通用
pip
安装的C扩展库)。sudo yum install python3-devel -y # CentOS 7/8/9通用
openssl-devel
:支持Python的ssl
模块(用于HTTPS请求);bzip2-devel
、zlib-devel
:支持压缩/解压功能(如tarfile
、zipfile
模块);libffi-devel
:支持Python的ctypes
模块(调用动态链接库);readline-devel
、sqlite-devel
:支持Python的交互式命令行和SQLite数据库;ncurses-devel
、tk-devel
:支持终端界面和图形化工具(如IDLE
)。sudo yum install openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel tk-devel -y
二、Python包管理工具依赖
python3-devel
会附带pip
,若未安装可通过以下命令安装:sudo yum install python3-pip -y
三、虚拟环境工具依赖(可选但推荐)
虚拟环境可隔离不同项目的依赖,避免全局安装冲突。常用工具为venv
(Python 3内置)或virtualenv
:
python3 -m venv
创建虚拟环境;pip
安装:sudo yum install python3-virtualenv -y # 或使用pip3 install virtualenv
四、常见第三方Python库的系统依赖
部分第三方库需要额外的系统库支持,以下是常见库的依赖示例:
numpy
、scipy
):需要blas-devel
、lapack-devel
(线性代数库):sudo yum install blas-devel lapack-devel -y
mysqlclient
、psycopg2
):分别需要MySQL(mysql-devel
)或PostgreSQL(postgresql-devel
)的开发库;pillow
):需要libjpeg-turbo-devel
、zlib-devel
(支持JPEG、PNG格式);pandas
、matplotlib
):依赖numpy
,因此需先安装blas-devel
、lapack-devel
。注意事项
pip
安装库时提示缺少系统依赖,需根据错误信息安装对应的系统库(如error: command 'gcc' failed with exit status 1
通常表示缺少编译工具或头文件);dnf
替代yum
(命令格式一致)。