centos6.7安装python2.7.11的具体方法


Posted in Python onJanuary 16, 2017

1. 查看本机系统及python版本

# cat /etc/redhat-release
CentOS release 6.7 (Final)
查看CentOS release 6.7 (Final)自带的python版本

# python -V
Python 2.6.6
注意, 我们不要破坏系统的Python环境, 因为几个关键的实用应用程序依赖于系统默认的Python 2.6.6, 如果破坏了系统的Python环境就会发生很多难以预见的错误,导致要重装系统。

2. yum安装开发工具库集及一些额外包包

# yum groupinstall "Development tools"
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

3. 下载并解压python2.7.11源码包

# wget -c --no-check-certificate https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz
# tar xf Python-2.7.11.tar.xz
# cd Python-2.7.11

4. 编译并安装python2.7.11

# ./configure --prefix=/usr/local
# make && make altinstall
其中, ./configure --prefix=是指定安装路径, 按照官方文档,如果要将多个Python运行时安装在同一目录, 则使用make altinstall而不是make install

(注意: 不指定prefix,则可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr /local/share。你要卸载这个程序,要么在原来的make目录下用一次make uninstall(前提是make文件指定过uninstall),要么去上述目录里面把相关的文件一个个手工删掉。
指定prefix,直接删掉一个文件夹就够了)

5. 为python2.7执行文件创建软链接

# ln -s /usr/local/bin/python2.7 /usr/local/bin/python
将/usr/local/bin/python指向/usr/local/bin/python2.7

6. 检测python版本

# sh
sh-4.1# python -V
Python 2.7.11
sh-4.1# exit
exit
# python
Python 2.6.6 (r266:84292, Jul 23 2015, 15:22:56)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

我们发现, 在sh下检测到Python的版本是2.7.11, 但终端下仍然是默认的2.6.6, 这是因为要重启终端才生效, 我们重启终端后:

# python
Python 2.7.11 (default, Feb 24 2016, 09:50:38)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

python版本默认是我们新安装的Python 2.7.11, 这是因为在环境变量PATH中/usr/local/bin在/usr/bin前面,其 优先级高:

# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.8.0_60/bin:/root/bin
或看看当前使用的是哪个python:

# which python
/usr/local/bin/python
查看python路径:

# whereis python
python: /usr/bin/python2.6 /usr/bin/python /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python /usr/local/bin/python2.7-config /usr/local/bin/python2.7 /usr/local/lib/python2.7 /usr/include/python2.6 /usr/share/man/man1/python.1.gz7. 解决Delete Backspace 方向键不能用问题

若发现, 在python 命令行下, Delete Backspace 方向键不能用问题, 情况如下:

# python
Python 2.7.11 (default, Feb 24 2016, 09:50:38)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> ex^[[D^[[D^[[C^[[C^[[C^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[[3~^[[3~^[[3~^C

这是因为在编译安装python前, 没有安装readline-devel所致。

解决方法是先安装readline-devel, 再回到源码包路径 下, 重新执行命令安装, 即可解决, 如下:

# yum install readline-devel
# cd Python-2.7.11
# make && make altinstall

到此, 我们完成了centos6.7下python2.7.11的安装!

OK, Enjoy it!!!

以上这篇centos6.7安装python2.7.11的具体方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python二分法实现实例
Nov 21 Python
Python学习笔记之os模块使用总结
Nov 03 Python
python 连接sqlite及简单操作
Jun 30 Python
Python文件读写保存操作的示例代码
Sep 14 Python
Python提取支付宝和微信支付二维码的示例代码
Feb 15 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
详解python中eval函数的作用
Oct 22 Python
Pycharm配置PyQt5环境的教程
Apr 02 Python
Jupyter notebook无法导入第三方模块的解决方式
Apr 15 Python
使用 Python 读取电子表格中的数据实例详解
Apr 17 Python
协程Python 中实现多任务耗资源最小的方式
Oct 19 Python
Python+OpenCV图像处理——实现轮廓发现
Oct 23 Python
python subprocess 杀掉全部派生的子进程方法
Jan 16 #Python
用python记录运行pid,并在需要时kill掉它们的实例
Jan 16 #Python
python 根据pid杀死相应进程的方法
Jan 16 #Python
总结python实现父类调用两种方法的不同
Jan 15 #Python
利用python程序帮大家清理windows垃圾
Jan 15 #Python
Python科学计算之NumPy入门教程
Jan 15 #Python
Python科学计算之Pandas详解
Jan 15 #Python
You might like
php 静态变量的初始化
2009/11/15 PHP
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
js返回上一页并刷新代码整理
2012/12/21 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
jquery实现邮箱自动填充提示功能
2015/11/17 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
JavaScript严格模式下关于this的几种指向详解
2017/07/12 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
使用Python将数组的元素导出到变量中(unpacking)
2016/10/27 Python
78行Python代码实现现微信撤回消息功能
2018/07/26 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
导致python中import错误的原因是什么
2020/07/01 Python
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
小学主题班会教案
2015/08/17 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
四年级语文教学反思
2016/03/03 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis
详解Node.js如何处理ES6模块
2021/05/15 Javascript
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android