在CentOS系统中安装pip是进行Python开发和管理包的基础步骤,pip作为Python的包安装程序,极大地简化了第三方库的获取、安装和管理过程,由于CentOS版本及其内置Python版本的差异,安装pip的方法也有所不同,本文将详细介绍几种在CentOS上安装pip的常用方法,并提供一些最佳实践建议,以确保安装过程顺利且符合系统管理的最佳规范。

使用YUM/DNF包管理器安装(推荐)
这是最直接、最符合系统管理惯例的方法,它通过官方或第三方软件仓库来安装pip,能够很好地与系统集成,便于后续的更新和管理,根据您的CentOS版本,需要使用不同的包管理器命令。
对于CentOS 7
CentOS 7默认使用yum作为包管理器,并且系统自带Python 2.7,为了安装Python 3的pip(pip3),首先需要启用EPEL(Extra Packages for Enterprise Linux)仓库。
-
安装EPEL仓库:
sudo yum install -y epel-release
-
安装pip3:
sudo yum install -y python3-pip
安装完成后,您可以通过
pip3命令来使用它,为了避免与系统自带的Python 2的pip(如果有的话)混淆,始终明确使用pip3和python3。
对于CentOS 8 / 9 / Stream
CentOS 8及其后续版本使用dnf替代了yum,并且对Python的管理更为模块化,安装pip3同样非常直接。
- 安装pip3:
sudo dnf install -y python3-pip
| 系统版本 | 包管理器 | 安装命令 | 备注 |
|---|---|---|---|
| CentOS 7 | yum |
sudo yum install -y python3-pip |
需先安装EPEL仓库 |
| CentOS 8/9/Stream | dnf |
sudo dnf install -y python3-pip |
推荐使用此方法 |
安装完成后,无论使用哪个版本的CentOS,都可以通过以下命令验证pip是否安装成功以及其版本:

pip3 --version
使用get-pip.py脚本安装(通用)
如果由于某些原因(如仓库中没有pip包、需要安装特定最新版本的pip),无法通过包管理器安装,可以使用Python官方提供的get-pip.py脚本,这是一个通用的安装方法,适用于大多数操作系统和Python版本。
-
安装必要的依赖: 在运行脚本之前,确保系统已安装编译Python包所需的工具和库。
sudo yum groupinstall -y "Development Tools" sudo yum install -y python3-devel openssl-devel libffi-devel
-
下载get-pip.py脚本: 使用
curl或wget从官方网站下载脚本。curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
或者
wget https://bootstrap.pypa.io/get-pip.py
-
执行脚本进行安装: 使用
python3来执行下载的脚本,建议使用sudo以进行系统级安装,或者不加sudo进行用户级安装(推荐)。# 系统级安装(需要管理员权限) sudo python3 get-pip.py # 用户级安装(推荐,无需sudo,安装到用户主目录) python3 get-pip.py --user
-
验证安装:
python3 -m pip --version
使用
python3 -m pip的方式调用pip可以确保您使用的是与当前python3解释器关联的pip版本,避免了PATH路径混乱的问题。
重要注意事项与最佳实践
- 明确Python版本: 始终使用
python3和pip3命令,或python3 -m pip,Python 2已于2020年停止维护,不应再用于新项目。 - 避免系统级污染: 尽量避免使用
sudo pip install来安装全局包,这可能会与系统管理的包(如通过yum/dnf安装的)发生冲突,导致系统不稳定。 - 使用虚拟环境: 这是Python开发的黄金法则,为每个项目创建独立的虚拟环境,可以将项目的依赖项与系统全局环境隔离开来。
- 创建虚拟环境:
python3 -m venv my_project_env
- 激活虚拟环境:
source my_project_env/bin/activate
激活后,命令行提示符会发生变化,此时直接使用
pip命令即可,它会自动安装到当前虚拟环境中,退出时使用deactivate命令。
- 创建虚拟环境:
相关问答 (FAQs)
问题1:在CentOS上,我应该使用pip还是pip3命令?
解答: 您应该始终优先使用pip3,在大多数现代CentOS系统中,当您安装python3-pip时,它会提供一个名为pip3的可执行文件,系统可能仍然保留着与旧版Python 2关联的pip命令(如果安装了的话),为了明确指定您正在为Python 3安装包,使用pip3是最安全、最清晰的做法,更佳实践是使用python3 -m pip,这个命令可以确保您调用的是与当前python3解释器绑定的pip,完全避免了因PATH环境变量配置问题而调用了错误版本的pip。
问题2:为什么很多人说使用sudo pip install是不好的做法?
解答: 使用sudo pip install将Python包安装到系统的全局Python site-packages目录中,这会带来几个风险,它可能会与系统包管理器(如yum或dnf)管理的Python库产生冲突,导致系统工具损坏或无法正常工作,它需要管理员权限,增加了误操作的风险,最重要的是,这会使项目的依赖关系变得混乱,不同项目可能需要同一库的不同版本,全局安装无法解决这个问题,最佳实践是使用虚拟环境(venv)或通过pip install --user将包安装到用户目录,从而实现依赖隔离和系统环境的安全。