烂泥:python2.7和python3.5源码安装
本文由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源码安装的更多相关文章
- [Dynamic Language] Python3.7 源码安装 ModuleNotFoundError: No module named '_ctypes' 解决记录
Python3.7 源码安装 ModuleNotFoundError: No module named '_ctypes' 解决记录 源码安装时报错 File "/home/abeenser ...
- Python3.5 源码安装 Ubuntu16.04环境
安装源码编译所需的各种依赖库:(Ubuntu16.04环境下) sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-de ...
- Centos7 Python3.x源码安装
第一步,安装开发工具集 yum -y groupinstall "Development tools" 第二步,安装相关依赖包: yum -y install zlib-devel ...
- CentOS6.5源码安装python3.5.2
前提: 1.实现自动补全需要安装模块 readline-devel (yum install -y readline-devel) 2.实现支持SSL协议需安装模块 openssl-devel (yu ...
- CentOS7 下源码安装 python3
CentOS 7 下源码安装 python3 在CentOS7下,默认安装的是python2.7:为满足项目要求,安装python3 的方法如下: 1. 首先安装python3.6可能使用的依 ...
- linux下python3源码安装及卸载
Linux下Python3的源码编译安装和卸载方法 [日期:2019-06-21] 来源:博客园 作者:wuli潇萧 [字体:大 中 小] (一)Linux下软件的源码编译安装和卸载方法 L ...
- 烂泥:php5.6源码安装与apache集成
本文由秀依林枫提供友情赞助,首发于烂泥行天下. apache对php的支持是通过apache的mod_php5模块来支持的,这点与nginx不同.nginx是通过第三方的fastcgi处理器才可以对p ...
- 烂泥:源码安装apache
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近要开始学习nagios监控方面的知识了,但是nagios与apache结合的比较紧密,所以本篇文章就先把apache的源码安装学习下. 我们现在分以 ...
- 烂泥:mysql5.5数据库cmake源码编译安装
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...
随机推荐
- 前端学PHP之MemCache
× 目录 [1]作用 [2]安装 [3]管理[4]命令 前面的话 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括 ...
- 剖析AngularJS作用域
一.概要 在AngularJS中,子作用域(child scope)基本上都要继承自父作用域(parent scope). 但,事无绝对,也有特例,那就是指令中scope设置项为对象时,即scope: ...
- Android开发之自定义组件和接口回调
说到自定义控件不得不提的就是接口回调,在Android开发中接口回调用的还是蛮多的.在这篇博客开始的时候呢,我想聊一下iOS的自定义控件.在iOS中自定义控件的思路是继承自UIView, 在UIVie ...
- 设计模式(六):控制台中的“命令模式”(Command Pattern)
今天的博客中就来系统的整理一下“命令模式”.说到命令模式,我就想起了控制台(Console)中的命令.无论是Windows操作系统(cmd.exe)还是Linux操作系统(命令行式shell(Comm ...
- 一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布
一个技术汪的开源梦 —— 目录 微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 ...
- spring源码分析之<context:component-scan/>vs<annotation-config/>
1.<context:annotation-config/> xsd中说明: <xsd:element name="annotation-config"> ...
- spring boot(六):如何优雅的使用mybatis
*:first-child{margin-top: 0 !important}.markdown-body>*:last-child{margin-bottom: 0 !important}.m ...
- 详解:基于WEB API实现批量文件由一个服务器同步快速传输到其它多个服务器功能
文件同步传输工具比较多,传输的方式也比较多,比如:FTP.共享.HTTP等,我这里要讲的就是基于HTTP协议的WEB API实现批量文件由一个服务器同步快速传输到其它多个服务器这样的一个工具(简称:一 ...
- WCF学习系列汇总
最近在学习WCF,打算把一整个系列的文章都”写“出来,包括理论和实践,这里的“写”是翻译,是国外的大牛写好的,我只是搬运工外加翻译.翻译的不好,大家请指正,谢谢了.如果觉得不错的话,也可以给我点赞,这 ...
- [jQuery]jQuery DataTables插件自定义Ajax分页实现
前言 昨天在博客园的博问上帮一位园友解决了一个问题,我觉得有必要记录一下,万一有人也遇上了呢. 问题描述 园友是做前端的,产品经理要求他使用jQuery DataTables插件显示一个列表,要实现分 ...