CentOS 6.x 升级Python2.6.x到Python2.7.x
来源:互联网 发布:dota狐狸妈黑历史 知乎 编辑:程序博客网 时间:2024/05/22 10:24
CentOS 6.X 自带的python版本是 2.6 , 由于工作需要,很多时候需要2.7版本。所以需要进行版本升级。由于一些系统工具和服务是对 Python 有依赖的,所以升级 Python 版本需要注意。
升级步骤
如何欢乐的,没有痛苦的升级python版本 ,往下看 …
1. 更新系统和开发工具集
更新指令,并安装必要的开发工具,比如gcc等:
yum -y updateyum 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.xzunxz Python-2.7.10.tar.xztar -vxf Python-2.7.10.tar
如果系统没有安装xz软件包或者tar软件包,运行下面的命令安装:
yum -y install xzyum -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.6ln -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.pypython 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.io/2014/12/12/python%20update/
- http://leeyx.org/archives/1111
- CentOS 6.x 升级Python2.6.x到Python2.7.x
- centos 6.X 升级Python2.6到python2.7
- CentOS 6.X系统下升级Python2.6到Python2.7 的方法
- centos下Python2.X升级到Python3.X
- centos6.x 升级python2.7.x
- Linux CentOS6.X 升级python2.6到python2.7
- centos 6.8 安装python2.7.x环境
- centos 6.8 安装python2.7.x环境
- centos 下安装python2.7.x
- python2.x ~ python3.x
- centos5.x升级python至python2.7
- centos6.x默认python2.6升级2.7
- Python2.7.X 中文注释
- Python2.x还是3.x?
- 记录在centos6.4和6.6下把python2.6.X升级到2.7.9的心路历程
- 记录在centos6.4和6.6下把python2.6.X升级到2.7.9的心路历程
- python2.x 入门
- Python2.x中文问题
- 汉诺塔
- 关于x++和++x
- android开发6.0权限适配
- [Python]默认函数参数注意点
- AbstractSecurityWebApplicationInitializer
- CentOS 6.x 升级Python2.6.x到Python2.7.x
- 欢迎使用CSDN-markdown编辑器
- 使用JSPatch实现iOS APP动态更新
- iOS开发中常见得运行报错
- View的setTag()和getTag()方法
- jQuery动画与特效
- 异步触发器发送短信
- Hust oj 1293 取数(Map)
- ByteBuffer中属性及其操作