..

源码安装Python

&bnsp;   今天同事向我抱怨,服务上的python版本太低了,他想把python版本升级到2.7.10,但是他没有root权限,使用yum更新python是需要root权限。求人不如求自己,所以自己动手,我告诉它用源码安装,它说源码安装以后会覆盖当前的默认python,我告诉它,可以单独源码安装python,不需要覆盖默认的Python,可以两个版本并存。这里记录一下安装的过程,这里我们以安装Python 3.4为例子。

  1. 下载Python-3.4.0a4.tar.xz
  2. 解压 tar -xvf Python-3.4.0a4.tar.xz
  3. 生成makefile文件,这里我们设置python安装到 /home/hellojukay/Data/Bin/python这个目录中
# 这不操作可能需要半分钟左右
 ./configure --prefix=/home/hellojukay/Data/Bin/python/
  1. 生成了Makefile文件,我们来编译python
# 这里时间也会比较长,C、C++语言编译大型项目都比较慢,这个是个梗了
hellojukay@deepin:~/Data/Bin/Python-3.4.0a4$ make
  1. 安装编译好的python到之前设置的目录。
hellojukay@deepin:~/Data/Bin/Python-3.4.0a4$ make install

这里我们已经安装好了,可以到对应目录看一下。

hellojukay@deepin:~/Data/Bin/python$ ll
总用量 24
drwxr-sr-x 6 hellojukay hellojukay 4096 5月  10 22:17 .
drwxr-sr-x 8 hellojukay hellojukay 4096 5月  10 22:11 ..
drwxr-sr-x 2 hellojukay hellojukay 4096 5月  10 22:17 bin
drwxr-sr-x 3 hellojukay hellojukay 4096 5月  10 22:17 include
drwxr-sr-x 4 hellojukay hellojukay 4096 5月  10 22:17 lib
drwxr-sr-x 3 hellojukay hellojukay 4096 5月  10 22:17 share
hellojukay@deepin:~/Data/Bin/python$ 

把bin目录加入到path中,我们就能正常使用了。

hellojukay@deepin:~$ source .bashrc 
hellojukay@deepin:~$ python
python             python2.7          python3.4          python3.4m         python3.5          python3-config     
python2            python3            python3.4-config   python3.4m-config  python3.5m         python3m           
hellojukay@deepin:~$ python

这里可以直接tab补全出python3.4了,如果你不想覆盖当前用户的python,那就不要将python直接加入到path中,可以使用python的全路径配置PATHONPATH环境变量来使用python。