Centos6.8上源码安装Python3.6.2

准备环境安装包:
python3.6:[下载地址]
distribute: [下载地址]
setuptools:[下载地址]
pip: [下载地址]

安装编译器:

yum install gcc gcc-c++ -y

安装依赖包:

yum install openssl-devel -y #安装ansible会用到
yum install zlib zlib-devel -y  #安装setuptools会用到
yum install sqlite-devel #安装django会用到

安装Python3.6.2:

[root@localhost app]# xz -d Python-3.6.2.tar.xz
[root@localhost ~]# tar -xvf Python-3.6.2.tar
[root@localhost ~]# cd Python-3.6.2
[root@localhost Python-3.6.2]# ./configure
[root@localhost Python-3.6.2]# make
[root@localhost Python-3.6.2]# make install

非常重要:
代替make install的命令,使用make altinstall (altinstall功能说明)

个人总结说明:
使用make install,会覆盖系统默认安装的Python2.6版本。即用make install命令执行完,输入python,出现下图:

原来的Python2.6不在了,是不是很神奇。如果想要原来的Python2.6存在,则需要使用altinstall。
使用make altinstall安装,输入python,出现下图:

python重要目录结构说明:

在/usr/bin目录下(这是系统默认Python):
[root@localhost bin]# ls -trl py*
-rwxr-xr-x. 1 root root  188 8月  21 2010 pygtk-demo
-rwxr-xr-x. 1 root root   78 7月  24 2015 pydoc
-rwxr-xr-x. 2 root root 4864 7月  24 2015 python2.6
-rwxr-xr-x. 2 root root 4864 7月  24 2015 python
lrwxrwxrwx. 1 root root    6 7月  19 17:47 python2 -> python
在/usr/local/bin目录下(这是Python源码安装的默认安装路径):
-rwxr-xr-x. 1 root root     101 7月  21 18:46 2to3-3.6
-rwxr-xr-x. 1 root root     242 7月  21 18:46 easy_install-3.6
-rwxr-xr-x. 1 root root      99 7月  21 18:46 idle3.6
-rwxr-xr-x. 1 root root     214 7月  21 18:46 pip3.6
-rwxr-xr-x. 1 root root      84 7月  21 18:46 pydoc3.6
-rwxr-xr-x. 2 root root 9971089 7月  21 18:44 python3.6
-rwxr-xr-x. 2 root root 9971089 7月  21 18:44 python3.6m
-rwxr-xr-x. 1 root root    3083 7月  21 18:46 python3.6m-config
-rwxr-xr-x. 1 root root     441 7月  21 18:46 pyvenv-3.6


在/usr/local/lib目录下(这是Python源码安装的默认库文件目录):
drwxr-xr-x. 28 root root    20480 7月  21 18:41 python3.6

添加文件链接(实现输入python,是3.6.2版本):

cd /usr/local/bin
cp python3.6 /usr/bin/
cd /usr/bin
rm python
rm python2
cd /usr/bin
ln -s python2.6 python2
ln -s python3.6 python3
cp python3.6 python

安装完后,使用yum出现的问题:

升级完python到3.6之后,会出现这样的问题:

使用make install则不出现,而用make altinstall则会出现。

解决办法:

cd /usr/bin
vi yum 
把第一行#!/usr/bin/python改成#!/usr/bin/python2.6

后来发现pip已经默认继承在安装包里了(/usr/local/bin),下面的可以不做。
pip is already installed if you are using Python 2 >=2.7.9 or Python 3 >=3.4 downloaded from python.org

安装包管理工具:
说明:在python3里安装包管理工具,安装pip前,先安装distribute,如果安装setuptools,则会报错。(如果有人知道为什么,请告诉我下,谢谢!!!)
1.安装 distribute:

[root@localhost ~]# unzip distribute-0.7.3.zip
[root@localhost ~]# cd distribute-0.7.3
[root@localhost distribute-0.7.3]# python2 setup.py install
#用easy_install命令测试是否完成安装
[root@localhost distribute-0.7.3]# easy_install
error: No urls, filenames, or requirements specified (see --help)

2.安装pip:

方式一:
[root@localhost ~]# easy_install pip
方式二:
[root@localhost ~]# tar -xvf pip-9.0.1.tar.gz
[root@localhost ~]# cd pip-9.0.1
[root@localhost pip-9.0.1]# python setup.py install

为什么升级到2.7用setuptools,而升级到3.6用distribute:
http://blog.csdn.net/ichuzhen/article/details/24640299

你可能感兴趣的:(Centos6.8上源码安装Python3.6.2)