当前位置: 首页 > news >正文

烂泥:python2.7和python3.5源码安装

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

本文由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

clip_image001

依赖软件包安装完毕后,我们来下载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

clip_image002

clip_image003

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

make && make install

clip_image004

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

clip_image005

二、修改系统默认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

clip_image006

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

vim /etc/ld.so.conf

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

/usr/local/lib

clip_image007

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

/sbin/ldconfig

/sbin/ldconfig -v

clip_image008

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

clip_image005[1]

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

三、修改yum相关配置

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

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

clip_image009

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

vim /usr/bin/yum

#!/usr/bin/python2.6.6

clip_image010

现在执行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

转载于:https://my.oschina.net/lanni654321/blog/807409

相关文章:

  • 小改动
  • 部署web
  • 五一长假日记(1)
  • 【我拼搏的2016】-Python进行时
  • 关于建立控件、组件开发团队,有兴趣的网友请留言
  • mac安装tensorflow报错
  • 写跨浏览器脚本需要注意的问题
  • MySQL在Ubuntu系统的三种自启动方法
  • .net 程序发生了一个不可捕获的异常
  • SpringMVC学习笔记(一)
  • C#操作Excel,套用模板并对数据进行分页
  • 【SC】SCOM配置AD集成
  • 去了一趟微软
  • 设计模式的有趣解释-追MM
  • 组策略控制Win7电源选项
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 〔开发系列〕一次关于小程序开发的深度总结
  • CSS 三角实现
  • ES学习笔记(12)--Symbol
  • HTML中设置input等文本框为不可操作
  • Laravel核心解读--Facades
  • LeetCode18.四数之和 JavaScript
  • Promise面试题2实现异步串行执行
  • storm drpc实例
  • Theano - 导数
  • 阿里研究院入选中国企业智库系统影响力榜
  • 阿里云购买磁盘后挂载
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 关于Flux,Vuex,Redux的思考
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 排序算法之--选择排序
  • 前端技术周刊 2019-01-14:客户端存储
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 使用agvtool更改app version/build
  • 事件委托的小应用
  • 正则表达式
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​iOS实时查看App运行日志
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • #DBA杂记1
  • (7)STL算法之交换赋值
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (七)Java对象在Hibernate持久化层的状态
  • (数据结构)顺序表的定义
  • (循环依赖问题)学习spring的第九天
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET CORE 第一节 创建基本的 asp.net core