一、说明
CentOS6.5自带python环境为2.6,公司的python环境为2.7.
为了避免出现以后代码出现版本差异,所以把自带的2 .6版本升级到了2.7,过程十分曲折。。。。
中途遇到的问题和解决方法请点击:Python安装时遇到的问题
二、安装步骤
1、下载安装包
官方下载地址为:https://www.python.org/downloads/,选择的版本为2.7.14。
![](http://upload-images.jianshu.io/upload_images/9263840-0db27d90e10aeaeb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/546/format/webp)
![](http://upload-images.jianshu.io/upload_images/9263840-7623e75dd96ebcef.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
直接使用wget下载到本地:wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
2、安装
安装前要先装好gcc
、 g++
、和zlib
相关的依赖库,假设安装目录设置为/usr/local/python27
,安装步骤如下:
# 安装依赖库
yum install gcc g++ zlib zlib-devel openssl-devel
## ubuntu命令
# apt-get install gcc g++ zlib1g-dev openssl make
# 解压
tar -zxvf Python-2.7.14.tgz
# 创建安装文件夹
mkdir /usr/local/python27
# 编译安装
cd Python-2.7.14
./configure --prefix=/usr/local/python27/
make
make install
安装完成之后,进入到目录,一共是四个目录:bin
include
lib
share
[root@blog bin]# cd /usr/local/python27/
[root@blog bin]# ll
# 目录结构
total 16
drwxr-xr-x 2 root root 4096 Sep 23 14:08 bin # bin目录下放的可执行文件
drwxr-xr-x 3 root root 4096 Sep 23 14:08 include # 头文件
drwxr-xr-x 4 root root 4096 Sep 23 14:08 lib # 库文件目录
drwxr-xr-x 3 root root 4096 Sep 23 14:08 share
[root@blog bin]# cd bin
[root@blog bin]# ./python2.7
Python 2.7.14 (default, Sep 23 2017, 14:06:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> # 进入这里表示已经安装成功
3、创建链接
创建软链接算是这里最关键的一步了,如果这里没有处理好,以后可能会遇到很多麻烦,动不动就会因为版本的原因报错。
首先先备份系统默认的python命令,一共有四个相关命令:
[root@blog bin]# which python # 查看系统默认python命令的位置
/usr/bin/python
[root@blog bin]# ls /usr/bin/python* -l # 查看所有的python命令
-rwxr-xr-x 2 root root 4864 Aug 18 2016 /usr/bin/python # 和下面的python26 python2.6一样
lrwxrwxrwx 1 root root 6 Sep 6 18:36 /usr/bin/python2 -> python # 软链接到python
-rwxr-xr-x. 1 root root 4864 Jul 24 2015 /usr/bin/python26
-rwxr-xr-x 2 root root 4864 Aug 18 2016 /usr/bin/python2.6
python
python2.6
python26
三个文件是同一个文件,不同的名字而已,现在要做的就是替换掉这些文件。
# 删掉之前的python python2命令,留下python26和python2.6备用
rm -rf /usr/bin/python /usr/bin/python2
# 创建新的python链接
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python2
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python27
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python2.7
# 输入python查看是否成功
python
Python 2.7.14 (default, Sep 23 2017, 14:06:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
使用python --version
也可以查看版本是否替换成功
![](http://upload-images.jianshu.io/upload_images/9263840-0e0bcc4837866d5a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/387/format/webp)
4、修改yum命令
yum
命令需要用到python2.6
,上面已经把python
指向了python2.7
,此时如果运行yum
将会报错,具体详见:升级python2.7后运行yum出现"No module named yum"的解决办法
三、安装setup-tools和pip
1、先安装setup-tools
在https://pypi.python.org/pypi/setuptools
下载安装包,可以复制下载链接使用wget
命令下载。
![](http://upload-images.jianshu.io/upload_images/9263840-e9b8c0c151569574.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/893/format/webp)
下载下来后,解压安装:
wget https://pypi.python.org/packages/45/29/8814bf414e7cd1031e1a3c8a4169218376e284ea2553cc0822a6ea1c2d78/setuptools-36.6.0.zip#md5=74663b15117d9a2cc5295d76011e6fd1
unzip setuptools-36.6.0.zip
cd setuptools-36.6.0
python setup.py install
2、安装pip
下载地址:https://pypi.python.org/pypi/pip
,和上面一样下载下来,这里可以选择tgz格式的安装包。
![](http://upload-images.jianshu.io/upload_images/9263840-8619c612c89baafa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
tar -zxvf pip-9.0.1.tar.gz
cd pip-9.0.1
python setup.py install
3、创建软链接
进入到/usr/local/python27/bin
目录,如果上面安装没报错的话,easy_install
和pip
命令就会出现在这里了:
![](http://upload-images.jianshu.io/upload_images/9263840-372af96eed51fe83.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/816/format/webp)
创建软链接:
rm -rf /usr/bin/easy_install* /usr/bin/pip
ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip
ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip27
ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip2.7
ln -s /usr/local/python27/bin/easy_install /usr/bin/easy_install
ln -s /usr/local/python27/bin/easy_install /usr/bin/easy_install27
ln -s /usr/local/python27/bin/easy_install /usr/bin/easy_install2.7
# 验证操作是否成功
pip --version
pip 9.0.1 from /usr/local/python27/lib/python2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)
[root@blog bin]# easy_install --version
setuptools 36.5.0 from /usr/local/python27/lib/python2.7/site-packages/setuptools-36.5.0-py2.7.egg (Python 2.7)
到这里,所有的安装过程就完成了。