CentOS升级Python2.7

By 刘志军 , 2016-08-30, 分类: python

centos , python27

CentOS 6.X 自带的Python版本是 2.6 , 但是很多主流框架和第三方依赖包已经开始逐步放弃维护2.6版本了,况且如果一个全新的业务系统还是用Python2.6跑的话,你都不好意思说是搞Python的,为了顺利升级到Python2.7,笔者根据网上资料整理了升级步骤和过程中遇到的问题。

环境准备

更新系统和开发工具集

yum -y update
yum groupinstall "Development tools"

另外还需要安装 python 工具需要的额外软件包 SSL, bz2, zlib

sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

源码安装Python 2.7.x

wget http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz
xz -d Python-2.7.8.tar.xz
tar -xvf Python-2.7.8.tar

安装详情

# 进入目录:
cd Python-2.7.8
# 运行配置 configure:
./configure --prefix=/usr/local
# 编译安装:
make
make altinstall

# 检查 Python 版本:
[root@VM_centos ~]# python2.7 -V

Python 2.7.8

设置 PATH

为了我们能够方便的使用Python,将新版本的Python建立软连接

ln -s /usr/local/bin/python2.7  /usr/bin/python
# 检查
[root@VM_centos ~]# python -V
Python 2.7.8
[root@VM_centos ~]# which python 
/usr/bin/python

安装 setuptools

#获取软件包
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
# 解压:
tar -xvf setuptools-1.4.2.tar.gz
cd setuptools-1.4.2
# 使用 Python 2.7.8 安装 setuptools
python2.7 setup.py install

安装 PIP

curl  https://bootstrap.pypa.io/get-pip.py | python2.7 -

启动pip的时候如果报错:

pkg_resources.DistributionNotFound: The 'pip==7.1.0' distribution was not found and is required by the application

检查目录:

cd /usr/local/lib/python2.7/site-packages && ls

查看目录下是否有pip-7.1.0.dist-info,如果没有把它改成pip-7.1.0.dist-info

修复 yum 工具

此时yum应该是失效的,因为此时默认python版本已经是2.7了。而yum需要的是2.6,修改:

[root@dbmasterxxx ~]# which yum

/usr/bin/yum
#修改 yum中的python 
vi /usr/bin/yum

将第一行 #!/usr/bin/python 改为 #!/usr/bin/python2.6

安装pycurl报错:

could-not-run-curl-config-errno-2-no-such-file-or-directory-when-installing

Debian:

sudo apt-get install libcurl4-openssl-dev
apt-get install libcurl4-gnutls-dev

CentOS:

yum install libcurl-devel

python3 安装教程: http://ask.xmodulo.com/install-python3-centos.html 添加 /usrl/local/bin 到 $PATH 环境变量

vim ~/.bash_profile or ~/.bashrc 
PATH=$PATH:$HOME/bin:/usr/local/bin

关注公众号「Python之禅」,回复「1024」免费获取Python资源

python之禅