烂泥: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版本以后,就开 ...
随机推荐
- Objective-C runtime初识
Objective-C Runtime Describes the macOS Objective-C runtime library support functions and data struc ...
- Failure to find xxx in xxx was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced @ xxx
问题: 在linux服务器上使用maven编译war时报错: 16:41:35 [FATAL] Non-resolvable parent POM for ***: Failure to find * ...
- Dom addEventlistener与id 绑定事件的区别(续)
addEventListener 第三个参数为 useCapture. 以一个例子说明. <div id="div1" style="background: blu ...
- .NET Core下的日志(2):日志模型详解
NET Core的日志模型主要由三个核心对象构成,它们分别是Logger.LoggerProvider和LoggerFactory.总的来说,LoggerProvider提供一个具体的Logger对象 ...
- Spring Bean的生命周期(非常详细)
Spring作为当前Java最流行.最强大的轻量级框架,受到了程序员的热烈欢迎.准确的了解Spring Bean的生命周期是非常必要的.我们通常使用ApplicationContext作为Spring ...
- 用php实现一个简单的链式操作
最近在读<php核心技术与最佳实践>这本书,书中第一章提到用__call()方法可以实现一个简单的字符串链式操作,比如,下面这个过滤字符串然后再求长度的操作,一般要这么写: strlen( ...
- 使控件具有 Tilt 效果
步骤1:添加类: /* Copyright (c) 2010 Microsoft Corporation. All rights reserved. Use of this sample source ...
- H5实现本地预览图片
我们使用H5可以很容易的实现图片上传前对其进行预览的功能 Html代码如下: <!DOCTYPE html> <html lang="en"> <he ...
- C#限速下载网络文件
代码: using System; using System.Collections.Concurrent; using System.Collections.Generic; using Syste ...
- Github Pages和Hexo创建静态博客网站
Github Pages和Hexo创建静态博客网站 安装Node.js 本人是window环境,所以下载window版. 下载地址:https://nodejs.org/en/download/ 下载 ...