CentOS 6 下安装Python 3

Page content

CentOS 6.x 默认带的Python 还是2.6版本,我们大量的程序都在python 3.x下运行, 因此需要手动安装python 3。

由于没有编译好的rpm包安装,于是手动编译安装即可。好在python编译非常简单,而且还算是比较快。 (相对于macport。的编译来说已经好多了)

安装依赖

在配置安装之前,需要安装一些依赖库,不然会导致一些功能不可用。

#yum install -y gcc make openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

配置安装

下载最新的安装包(截止2013/11/05),还是3.3.2版本。

#wget http://python.org/ftp/python/3.3.2/Python-3.3.2.tgz
#tar xzf Python-3.3.2.tgz
#cd Python-3.3.2
#./configure --prefix=/opt/apps/python3
#make
#make install

如果没有指定prefix,将默认安装在/usr/local下,因此PATH中可以找到。我们要安装一个可以复制安装的版本,所以安装在指定目录下。

设置环境

可以将/opt/apps/python3/bin加入系统环境变量,

#echo 'export PATH=$PATH:/opt/apps/python3/bin' >> ~/.bash_profile

而我们简单的建立软链接比较方便

#ln -s /opt/apps/python3/bin/python3 /usr/bin

确认安装成功

# python3 -V
Python 3.3.2

安装pip

pip用于安装依赖软件比较方便,因此推荐安装上.

#wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - |python3
#wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py -O - |python3
#ln -s /opt/apps/python3.3/bin/pip-3.3 /usr/bin/

安装需要的第三方库

例如mysql-connector和requests

#pip-3.3 install mysql-connector-python
#pip-3.3 install requests

如果安装pip时发生如下错误:

ImportError: No module named bz2

那么说明安装的python 3 缺少依赖库bzip2-devel,需要先安装依赖库然后再编译安装。

查看已安装Python的编译参数可参考: stackoverflow