CentOS 6.10安装Python2.7.3(包含setuptools、pip)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010010664/article/details/89709198

安装注意事项:

  1. 千万不要卸载系统的python,可能会导致yum无法使用,甚至有重新装机的风险
  2. 注意程序的安装路径
  3. 注意版本的冲突

安装准备

  • 查看当前系统中的python版本

python --version

返回Python 2.6.6为正常。

  • 检查CentOS版本

cat /etc/redhat-release

返回CentOS release 6.10 (Final)为正常。

安装步骤

0、安装所有的开发工具包

    yum groupinstall "Development tools"
1、安装一堆需要的软件包

   yum -y install openssl openssl-devel ncurses-devel zlib-devel bzip2-devel sqlite-devel python-devel zlib

    有一些包需要升级,不然会报各种异常
    升级安装zlib
    # wget http://sourceforge.net/projects/libpng/files/zlib/1.2.8/zlib-1.2.8.tar.gz
    # tar -zxvf zlib-1.2.8.tar.gz 
    # cd zlib-1.2.8
    # ./configure 
    # make install
    
    升级安装sqlite3
    # cd ..
    # wget http://www.sqlite.org/2014/sqlite-autoconf-3080500.tar.gz
    # tar -zxvf sqlite-autoconf-3080500.tar.gz
    # cd sqlite-autoconf-3080500
    # ./configure
    # make
    # make install

2、下载 python2.7.3源码包,解压到一个临时目录中,我就放在/tmp 下了

    wget https://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz

    tar zxvf Python-2.7.3.tgz

3、编译

    编译前,注意一下,configure时候要使用"--enable-shared",表示生成动态链接库。(不然后面编译mod_wsgi会出错)仅使用这一项也不够,开始仅使用--enable-shared选项,发现编译完成后,进入Python2.7.3目录,执行python、python2、python2.7在终端都是返回python2.7.3的提示符。所以,在执行configure命令的时候,还要加上"-rpath"选项,这个代表是否将生成的库安装在软件的安装目录,默认是在安装目录,否则自己指定路径。

     先建立一个目录,不然后面configure的时候会出错:

    mkdir -p /usr/local/python/2.7.3/lib

    ./configure --enable-shared --prefix=/usr/local/python/2.7.3 LDFLAGS="-Wl,-rpath /usr/local/python/2.7.3/lib"

    make && make install && make clean

4、切换新版本(可以不用修改,直接用python2.7.3也可以)--不建议修改,会有很多未知的问题

    此处一定要把原来的 python保留,我开始是直接覆盖了老版本,结果发现 yum 不能用了,费了无数劲,也没搞定,只好重装了系统,反正是测试的虚拟机

    mv /usr/bin/python /usr/bin/python2.6.6

    ln -fs /usr/local/python/2.7.3/bin/python2.7 /usr/bin/python

5、解决 yum 的问题 (不切换版本,就不用解决yum问题)

    因为yum需要使用Python2.6.6的版本,现在 yum 应该不能干活了,还有设置一下yum相关的文件,这样执行yum相关的命令时才不会出错。vi /usr/bin/yum,修改第一句,替换成保留的2.6.6的版本:

!/usr/bin/python2.6.6

    看了很多人说改完上面的就万事大吉了,我修改了上面的之后,yum还是出问题,然后又根据出问题的部分修改了"/usr/libexec/urlgrabber-ext-down"下的第一句:

!/usr/bin/python2.6.6

    果然熟悉的 yum 界面出来了!

6、安装 setuptools、pip

    老版本的这些,都不能生效了,得重新装过

    下载ez_setup.py文件,安装setuptools:

     wget https://bootstrap.pypa.io/ez_setup.py 

    运行以下命令安装,因为之前没装 zlib-devel 模块,下面的命令执行不成功,没办法,yum install zlib-devel ,然后理新编译 python。

    python ez_setup.py 

    下载pip源码,进入源码目录进行安装,这一步也因为第一步骤的相关组件没装,坑了半天

    wget https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#md5=3823d2343d9f3aaab21cf9c917710196

    tar -zxvf pip-7.1.2.tar.gz

    cd pip-7.1.2

    python setup.py install (未切换版本使用 python2.7.3 setup.py install) 

    增加一个软链接,这一步好象不是很必要:

    ln -fs /usr/local/python/2.7.3/bin/pip /usr/bin/pip

    本以为这样就万事大吉了,结果运行 pip,直接报错,又是因为依赖的组件没装。

    有了pip之后对安装python第三方包会非常方便,如:pip install MySQL-python、pip install PyGreSQL

    最后再说一下,最好把新的 python 的路径加到 PATH 环境变量中,否则还会有其他组件运行不正常。

参考文章:

python安装第三方包的安装路径,dist-packages和site-packages区别

centos7下安装 python2.7

CentOS 6.3安装Python2.7.3

猜你喜欢

转载自blog.csdn.net/u010010664/article/details/89709198