CentOS 6.x 升级Python2.6.x到Python2.7.x
2016-10-15 14:34
197 查看
CentOS 6.X 自带的python版本是 2.6 , 由于工作需要,很多时候需要2.7版本。所以需要进行版本升级。由于一些系统工具和服务是对 Python 有依赖的,所以升级 Python 版本需要注意。
另外还需要安装 python 工具需要的额外软件包 SSL, bz2, zlib:
源码安装Python 2.7.x:
如果系统没有安装xz软件包或者tar软件包,运行下面的命令安装:
执行完以上命令会解压得到Python-2.7.10这个文件夹,进入该目录并执行以下命令进行配置。
其中
之后执行:
找到
安装好Python2.7之后我们需要先把Python2.6备份起来,然后再对yum的配置进行修改,如果不进行这一步操作的话,执行yum命令将会提示你Python的版本不对。
(1)执行以下命令,对Python2.6进行备份,然后为Python2.7创建软链接:
(2)然后编辑
现在执行yum命令已经不会出现之前的错误信息了。
我们执行python -V查看版本信息,如果出现错误:
error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
编辑配置文件:
添加新的一行内容/usr/local/lib,保存退出,然后:
查找pip的位置:
找到pip2.7的路径,为其创建软链作为系统默认的启动版本。
pip安装完毕,现在可以用它下载安装各种包了。
先查看服务器上的 erase 信号的映射:
会出现:
可以看出这里的 erase 信号为 ^?,而发送过去的却是 ^H,这就是敲击 Backspace 时为什么不会删除字符而会显示 ^H 的原因,如果要解决这个问题,可以使用 Ctrl-Backspace 键来发送 ^? 信号来删除字符,但是这样还是太麻烦了,需要用组合键,而最简单的方法就是把 Linux 服务器中的 erase 信号设置为 ^H:
再看一下 erase 信号的映射:
变为 ^H 了,这样就可以敲击 Backspace 来删除字符,但是这样只是临时的,系统重启过后就会失效,可以把这条命令写入家目录下的 .bash_profile 文件中实现永久修改。
https://ruiaylin.github. 9ea8
io/2014/12/12/python%20update/
http://leeyx.org/archives/1111
升级步骤
如何欢乐的,没有痛苦的升级python版本 ,往下看 …1. 更新系统和开发工具集
更新指令,并安装必要的开发工具,比如gcc等:yum -y update yum groupinstall -y 'development tools'
另外还需要安装 python 工具需要的额外软件包 SSL, bz2, zlib:
yum install -y zlib-devel bzip2-devel openssl-devel xz-libs wget
源码安装Python 2.7.x:
wget http://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz unxz Python-2.7.10.tar.xz tar -vxf Python-2.7.10.tar
如果系统没有安装xz软件包或者tar软件包,运行下面的命令安装:
yum -y install xz yum -y install tar
执行完以上命令会解压得到Python-2.7.10这个文件夹,进入该目录并执行以下命令进行配置。
./configure --enable-shared --enable-loadable-sqlite-extensions --with-zlib --prefix=/usr/local
其中
--enable-loadable-sqlite-extensions是sqlite的扩展,如果需要使用的话则带上这个选项。
之后执行:
vi ./Modules/Setup
找到
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz去掉注释并保存,然后进行编译和安装。
make && make install
安装好Python2.7之后我们需要先把Python2.6备份起来,然后再对yum的配置进行修改,如果不进行这一步操作的话,执行yum命令将会提示你Python的版本不对。
(1)执行以下命令,对Python2.6进行备份,然后为Python2.7创建软链接:
mv /usr/bin/python /usr/bin/python2.6.6 ln -s /usr/local/bin/python2.7 /usr/bin/python
(2)然后编辑
/usr/bin/yum,将第一行的
#!/usr/bin/python修改成
#!/usr/bin/python2.6.6
现在执行yum命令已经不会出现之前的错误信息了。
我们执行python -V查看版本信息,如果出现错误:
error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
编辑配置文件:
vi /etc/ld.so.conf
添加新的一行内容/usr/local/lib,保存退出,然后:
/sbin/ldconfig /sbin/ldconfig -v
2. 安装pip
下载最新版的pip,然后安装。wget https://bootstrap.pypa.io/get-pip.py python get-pip.py
查找pip的位置:
whereis pip
找到pip2.7的路径,为其创建软链作为系统默认的启动版本。
ln -s /usr/local/bin/pip2.7 /usr/bin/pip
pip安装完毕,现在可以用它下载安装各种包了。
3. python命令行中backspace键出现^H的问题
我一直以来在远程到 Linux 服务器使用其中的 Python、Perl、MongoDB 自带的 shell 时,都会出现敲击 Backspace 键删除某些字符时,字符没有被删除,反而会出现 ^H,只能使用 Ctrl-W 来删除整个单词,非常影响效率,今天闲来无事又看了一遍 《Guide To Unix And Linux》,发现了这个问题的原因先查看服务器上的 erase 信号的映射:
stty -a
会出现:
可以看出这里的 erase 信号为 ^?,而发送过去的却是 ^H,这就是敲击 Backspace 时为什么不会删除字符而会显示 ^H 的原因,如果要解决这个问题,可以使用 Ctrl-Backspace 键来发送 ^? 信号来删除字符,但是这样还是太麻烦了,需要用组合键,而最简单的方法就是把 Linux 服务器中的 erase 信号设置为 ^H:
stty erase ^H
再看一下 erase 信号的映射:
变为 ^H 了,这样就可以敲击 Backspace 来删除字符,但是这样只是临时的,系统重启过后就会失效,可以把这条命令写入家目录下的 .bash_profile 文件中实现永久修改。
4. 参考链接
https://ruter.github.io/2015/12/03/Update-python/https://ruiaylin.github. 9ea8
io/2014/12/12/python%20update/
http://leeyx.org/archives/1111
相关文章推荐
- CentOS 6.X系统下升级Python2.6到Python2.7 的方法
- CentOS 6.X系统下升级Python2.6到Python2.7 的方法
- CentOS 6.X系统下升级Python2.6到Python2.7 的方法
- centos 6.X 升级Python2.6到python2.7
- CentOS 6.3上python2.6升级到2.7
- Centos 升级Python到2.6或2.7版本
- Centos升级python到2.6
- Centos 6.4 python 2.6 升级到 2.7
- 2015-05-19-Centos-6-python-2.6-升级到-2.7
- Centos升级python到2.6
- CentOS中简单用yum升级Python至2.6
- centos5.5下yum升级python2.4到2.6
- Centos 6.4 python 2.6 升级到 2.7
- CentOS5.6上将Python2.6升级成Python2.7
- Centos 6.4 python 2.6 升级到 2.7
- CentOS 6.x系统升级Python到2.7版本的Shell脚本分享
- centos 升级python2.6 到python3.3
- Centos 6.4 python 2.6 升级到 2.7
- Centos升级python到2.6
- Centos 6.4 python 2.6 升级到 2.7