CentOS6 Upgrade Python

时间:2022-05-06
本文章向大家介绍CentOS6 Upgrade Python,主要内容包括CentOS6 升级Python2.7.X和Python3.X、安装基本的开发工具包、安装Python pip、virtualenv和virtualenvwapper、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

CentOS6 升级Python2.7.X和Python3.X


简述

由于产品需要从裸机开始开发所以所有的配置和开发也是从零开始,这个导航是基于centos6.x版本升级默认的Centos的Python,升级到Python2.7或者Python3.3。我们不仅升级了Python,同样基于Python的setuptools, pip, virtualenv and pyvenv这些工具也同样安装和升级以便于项目需要。

安装基本的开发工具包

为了确保编译Python成功,先安装下面的这几个package和类库。

yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

下面需要关心的两个问题:

  • Unicode 如果为了支持更多的编码字符集,可以采用UTF-32的编码能有更好的扩展性,好的扩展性是需要牺牲一部分内存。嘿嘿,所以占用的内存就比之前的多。在Python2.7.x版本支持标准是—enable-unicode=ucs4,在Python3.X版本中支持的标志是—with-wide-unicode
  • Shared library 你或许应该编译Python作为共享库,如果没有共享库的话有些第三方工具类库,比如:mod_wsgi和Blender是无法正常工作的,所以我们需要编译成共享库。我们有两种方式编译成共享库:
    1. 在编译之前就指定相应的配置命令,LDFLAGS=”-Wl,-rpath /usr/local/lib”
    2. 打开/etc/ld.so.conf,增加/usr/local/lib在末尾。然后运行/sbin/ldconfig确保动态链接改变成功。include ld.so.conf.d/*.conf /usr/local/lib
  • 使用make altinstall 预防出现问题 下载、安装和编译Python # Python 2.7.6: wget http://python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz tar xf Python-2.7.6.tar.xz cd Python-2.7.6 ./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" make && make altinstall # Python 3.5.2: wget http://python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz tar xf Python-3.5.2.tar.xz cd Python-3.5.2 ./configure --prefix=/usr/local --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" make && make altinstall

安装完成成功之后会分别在如下目录里面:/usr/local/bin/python2.7 或者 /usr/local/bin/python3.5,这样不会影响系统的默认python环境。当然你可以通过自定制你的Python为2.7,如果改变/usr/bin/python的默认python的话,请相应的修改yum源的Python。

安装Python pip、virtualenv和virtualenvwapper

安装pip

wget https://bootstrap.pypa.io/get-pip.py
python2.7 get-pip.py

安装virtualenv和virtualenvwapper

pip2.7 install virtualenv virtualenvwrapper
#.bash_profile
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh

并在/etc/sudoers设置如下:

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
如果你想让centos默认为python2.7可做如下设置
#1.将默认python重命名为Python2并替代Python2的软连接(Python2是Python的软连接)
 mv python python2
#2.新建默认Python2.7
ln -s /usr/local/bin/python2.7 python
#3.修改/usr/bin/yum的python解释器
nano /usr/bin/yum
修改 #!/usr/bin/python 为 #!/usr/bin/python2
#4.创建新的Python软连接
sudo ln -s /usr/local/bin/python2.7 python

到此你的所有安装已完毕并能正常使用Python。