如何在从源码安装Python2.7.14时集成pip工具
哈哈,你踩了个常见的小坑——Python的configure脚本根本没有--with-pip这类参数,难怪会报无法识别的选项!我来给你捋捋正确的做法,保证你能顺利装上带pip的Python2.7.14:
正确从源码安装带pip的Python2.7.14
首先得明确:Python2.7.9及之后的版本默认会自动包含pip,但前提是你编译时的依赖足够,而且安装流程正确。下面是完整步骤:
1. 先安装编译依赖
编译Python源码需要一些基础库,缺失的话可能会导致功能异常(比如SSL支持,这对pip安装包至关重要)。以Debian/Ubuntu系统为例:
sudo apt-get update sudo apt-get install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev
如果是CentOS/RHEL系统,把命令换成yum install gcc openssl-devel zlib-devel bzip2-devel readline-devel sqlite-devel即可。
2. 下载并解压Python2.7.14源码
wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz tar -zxvf Python-2.7.14.tgz cd Python-2.7.14
3. 配置编译参数(没有pip相关选项!)
你之前的--enable-shared是合理的(生成共享库),但不需要加任何和pip相关的configure参数。推荐指定安装路径,避免覆盖系统自带的Python:
./configure --enable-shared --prefix=/usr/local/python27
- 如果你想把Python装在系统默认路径,可以去掉
--prefix=/usr/local/python27参数,但不建议这么做,容易和系统Python冲突。
4. 编译并安装
make -j$(nproc) # 用多线程编译,加快速度 sudo make install
5. 验证pip是否安装成功
安装完成后,直接运行以下命令检查:
/usr/local/python27/bin/python2.7 -m pip --version
如果能正常显示pip版本,说明大功告成!
万一pip没装上?手动补装
如果因为依赖缺失等原因,编译时跳过了pip安装,可以用官方脚本手动补装(最后支持Python2.7的pip版本是20.3.4):
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py /usr/local/python27/bin/python2.7 get-pip.py
可选:设置环境变量方便调用
为了不用每次输完整路径,把Python2.7的bin目录加到系统PATH里:
echo 'export PATH="/usr/local/python27/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
之后直接用python2.7和pip2.7就能调用新安装的版本了。
内容的提问来源于stack exchange,提问作者FloHe




