本文由ilanniweb提供友情赞助,首发于烂泥行天下

想要获得更多的文章,可以关注我的微信ilanniweb

前几天在centos6.6安装ansible时,一直提示python版本不对,导致不能安装。只能手工进行手工安装python,为了以后不再添这个坑,特记录相关的安装过程。

本文以python2.7和python3.5安装为例。

一、安装python2.7

在安装python之前,我们先来安装在进行python编译时,所需要的的各种依赖软件包,如下:

yum -y install xz wget gcc make gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel

依赖软件包安装完毕后,我们来下载pytho2.7源码包,并进行相关的操作,如下:

wget http://mirrors.sohu.com/python/2.7.12/Python-2.7.12.tar.xz

tar -xf Python-2.7.12.tar.xz

cd Python-2.7.12

./configure --enable-shared --enable-loadable-sqlite-extensions --with-zlib

配置完毕后,开始进行编译和安装,如下:

make && make install

如果安装没有正确错误的话,正确显示如下:

二、修改系统默认python版本

centos6系列默认的python版本为python2.6.6,如果我们要修改系统默认的python版本的话,需要进行如下操作。

执行以下命令,对python2.6进行备份,然后为python2.7创建软链接,如下:

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

ln -s /usr/local/bin/python2.7 /usr/bin/python

此时,我们可以执行python –V命令,如果出现如下错误:

python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

需要编辑配置文件/etc/ld.so.conf添加新的一行内容/usr/local/lib,保存退出,如下:

vim /etc/ld.so.conf

include ld.so.conf.d/*.conf

/usr/local/lib

ld.so.conf文件配置完毕后,我们需要执行如下命令:

/sbin/ldconfig

/sbin/ldconfig -v

然后再执行python –V命令,查看python版本如下:

通过上图可以看到系统默认的python版本已经被修改为python2.7。

三、修改yum相关配置

python2.7安装完毕,由于版本的原因可能会导致yum命令不能使用,就需要我们进行相关的配置。

我们需要先把python2.6备份起来,然后再对yum的配置文件进行修改。如果不进行这一步操作的话,执行yum命令将会提示你python的版本不对。

然后再编辑/usr/bin/yum文件,将第一行的#!/usr/bin/python修改为#!/usr/bin/python2.6.6,如下:

vim /usr/bin/yum

#!/usr/bin/python2.6.6

现在执行yum命令已经不会出现错误信息了。

四、python3.5安装命令

在以上三个章节中,我们介绍了python2.7的安装,这章我们把python3.5安装命令贴出来,就不进行详细的介绍了。

安装相关依赖:

yum -y install xz wget gcc make gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel

安装python3:

wget http://mirrors.sohu.com/python/3.5.2/Python-3.5.2.tar.xz

tar -xf Python-3.5.2.tar.xz

cd Python-3.5.2

./configure --enable-shared --enable-loadable-sqlite-extensions --with-zlib

make && make install

修改系统的默认python版本:

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

ln -s /usr/local/bin/python3 /usr/bin/python

vim /etc/ld.so.conf

/usr/local/lib

include ld.so.conf.d/*.conf

/sbin/ldconfig

python –V

修改yum使用的python版本:

vim /usr/bin/yum

#!/usr/bin/python2.6.6

烂泥:python2.7和python3.5源码安装的更多相关文章

  1. [Dynamic Language] Python3.7 源码安装 ModuleNotFoundError: No module named '_ctypes' 解决记录

    Python3.7 源码安装 ModuleNotFoundError: No module named '_ctypes' 解决记录 源码安装时报错 File "/home/abeenser ...

  2. Python3.5 源码安装 Ubuntu16.04环境

    安装源码编译所需的各种依赖库:(Ubuntu16.04环境下) sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-de ...

  3. Centos7 Python3.x源码安装

    第一步,安装开发工具集 yum -y groupinstall "Development tools" 第二步,安装相关依赖包: yum -y install zlib-devel ...

  4. CentOS6.5源码安装python3.5.2

    前提: 1.实现自动补全需要安装模块 readline-devel (yum install -y readline-devel) 2.实现支持SSL协议需安装模块 openssl-devel (yu ...

  5. CentOS7 下源码安装 python3

    CentOS 7 下源码安装 python3   在CentOS7下,默认安装的是python2.7:为满足项目要求,安装python3 的方法如下:   1. 首先安装python3.6可能使用的依 ...

  6. linux下python3源码安装及卸载

    Linux下Python3的源码编译安装和卸载方法 [日期:2019-06-21] 来源:博客园  作者:wuli潇萧 [字体:大 中 小]     (一)Linux下软件的源码编译安装和卸载方法 L ...

  7. 烂泥:php5.6源码安装与apache集成

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. apache对php的支持是通过apache的mod_php5模块来支持的,这点与nginx不同.nginx是通过第三方的fastcgi处理器才可以对p ...

  8. 烂泥:源码安装apache

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近要开始学习nagios监控方面的知识了,但是nagios与apache结合的比较紧密,所以本篇文章就先把apache的源码安装学习下. 我们现在分以 ...

  9. 烂泥:mysql5.5数据库cmake源码编译安装

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...

随机推荐

  1. C#设计模式-责任链模式

    在现实生活中,有很多请求并不是一个人说了就算的,例如面试时的工资,低于1万的薪水可能技术经理就可以决定了,但是1万~1万5的薪水可能技术经理就没这个权利批准,可能就需要请求技术总监的批准,所以在面试的 ...

  2. 使用 Swagger 自动生成 ASP.NET Core Web API 的文档、在线帮助测试文档(ASP.NET Core Web API 自动生成文档)

    对于开发人员来说,构建一个消费应用程序时去了解各种各样的 API 是一个巨大的挑战.在你的 Web API 项目中使用 Swagger 的 .NET Core 封装 Swashbuckle 可以帮助你 ...

  3. Redis系列之key操作命令与Redis中的事务详解(六)

    序言 本篇主要目的有二: 1.展示所有数据类型中key的所有操作命令,以供大家学习,查阅,更深入的挖掘redis潜力. 2.掌握redis中的事务,让你的数据完整性一致性拥有更优的保障. redis命 ...

  4. 【Win 10 应用开发】在后台进行多媒体转码

    前面,老周给大伙儿讲了如何运用 MediaTranscoder 类来完成多媒体.然而,你懂的,要是多媒体文件比较大,转码时间会更长,有可能用户不会一眭停在当前应用界面上,或许会切换到其他应用程序,甚至 ...

  5. CSS权威指南之css声明,伪类,文本处理--(简要笔记一)

    1.css层叠的含义 后面的会覆盖前面的样式 2.每个元素生成一个框,也称盒.   3.替换元素和非替换元素. img如果不指定src的外部路径,该元素就没有意义.他由文档本身之外的一个图像文件来替换 ...

  6. JavaScript权威设计--JavaScript变量,作用域,声明提前(简要学习笔记四)

    1.宿主对象与宿主环境 宿主对象:由ECMAScript实现的宿主环境提供的对象,可以理解为:浏览器提供的对象.所有的BOM和DOM都是宿主对象.   宿主环境:一般宿主环境由外壳程序创建与维护,只要 ...

  7. scikit-learn一般实例之八:多标签分类

    本例模拟一个多标签文档分类问题.数据集基于下面的处理随机生成: 选取标签的数目:泊松(n~Poisson,n_labels) n次,选取类别C:多项式(c~Multinomial,theta) 选取文 ...

  8. C# ListView点击列头进行排序

    /// <summary> /// This class is an implementation of the 'IComparer' interface. /// </summa ...

  9. 使用命令 gradle uploadArchives 的异常: Unable to initialize POM pom-default.xml: Failed to validate POM for project

    在使用:gradle uploadArchives 命令对项目进行上传maven时,常常遇到如下报错: 这时候要仔细的检查一下build.gradle文件中的dependencies内容,很多时候是由 ...

  10. 网页mp3语音展示,点击图片放大,点击图片跳转链接,调表格

    查看mp3语音 <td class="value"><embed src="${sounds.soundName}" type="a ...