一、说明
CentOS6.5 自带 python 环境为 2.6,公司的 python 环境为 2.7.
为了避免出现以后代码出现版本差异,所以把自带的 2 .6 版本升级到了 2.7,过程十分曲折。。。。
中途遇到的问题和解决方法请点击:Python 安装时遇到的问题
二、安装步骤
1 、下载安装包
官方下载地址为:https://www.python.org/downloads/,选择的版本为 2.7.14 。
直接使用 wget 下载到本地:wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
2 、安装
安装前要先装好 gcc
、 g++
、和 zlib
相关的依赖库,假设安装目录设置为/usr/local/python27
,安装步骤如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 安装依赖库 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[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 命令,一共有四个相关命令:
1 2 3 4 5 6 7 |
[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
三个文件是同一个文件,不同的名字而已,现在要做的就是替换掉这些文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 删掉之前的 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
也可以查看版本是否替换成功
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
命令下载。
下载下来后,解压安装:
1 2 3 4 |
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 格式的安装包。
1 2 3 4 |
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
命令就会出现在这里了:
创建软链接:
1 2 3 4 5 6 7 8 9 10 11 12 |
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) |
到这里,所有的安装过程就完成了。
评论