环境
- CentOS 6.7 x86_64
简介
CentOS 6.7上默认Python版本是2.6.6,这篇博文介绍如何通过源码编译方式安装Python 3.5.1
预先条件
要通过源码方式编译安装Python3.5,需要先安装必要的编译工具,如gcc等。
$ sudo yum groupinstall "Base" "Development Tools"
此外,还需要安装必要的依赖包,这些依赖包在build Python一些标准模块的时候用到。
$ sudo yum install tk-devel sqlite-devel bzip2-devel openssl-devel readline-devel gdbm-devel xz-devel
获取Python 3.5.1源码
$ wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz
解压 配置 编译 安装
$ tar -xvf Python-3.5.1.tar.xz
$ cd Python-3.5.1
$ ./configure --enable-shared
$ make
$ sudo make install
这样Python3.5就默认安装到了/usr/local/bin,libpython3.5.so这个库安装到了/usr/local/lib下面,但是现在Python 3.5还无法启动,因为默认的共享库加载路径还没有指向libpython3.5.so所在的目录。
新增Python 3.5共享库加载路径:
需要把 /usr/local/lib 保存到配置文件中,保存在 /etc/ld.so.conf.d中 ,并执行ldconfig命令:
$ sudo bash -c "echo \"/usr/local/lib\" > /etc/ld.so.conf.d/python35.conf"
$ sudo ldconfig
现在Python3.5就安装好了,Python3不会覆盖掉原来的系统默认Python,查看Python3的版本:
$ python3 -V
Python 3.5.1
安装一些有用的第三方包:
升级pip
在安装Python3.5的时候,默认会安装7.1.2版本的pip包,但是这个包版本比较低,可以升级一下:
$ sudo pip3 install --upgrade pip
安装IPython,virtualenv,numpy,scipy:
$ sudo pip install ipython
$ sudo pip install virtualenv
$ sudo pip install numpy
安装scipy的时候,需要先安装一些依赖包:
$ sudo yum install blas-devel lapack-devel
接着就可以直接用pip安装scipy了:
$ sudo pip install scipy