一、系统级基础依赖库
在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(命令格式一致)。