烂泥: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版本以后,就开 ...
随机推荐
- 设置Fn键 笔记本直接按F1-F12 无须按Fn键 Fn+F12改F12(联想小新300为例)
最近公司给配的笔记本联想小新300 80RT i7-6500U 4G内存 500G机械,后加装120G固态+4G内存 这样就感觉还不错了. 在使用这本子的时候,去了Win10,强行装了Win7.无线 ...
- AngularJs之八
***今天讲一下angularJs的路由功能: 一:angularJs路由. 1.AngularJS 路由允许我们通过不同的 URL 访问不同的内容. 2.通过 AngularJS 可以实现多视图的单 ...
- ElasticSearch 5学习(3)——单台服务器部署多个节点
一般情况下单台服务器只会部署一个ElasticSearch node,但是在学习过程中,很多情况下会需要实现ElasticSearch的分布式效果,所以需要启动多个节点,但是学习开发环境(不想开多个虚 ...
- Oracle从文件系统迁移到ASM存储
环境:RHEL 6.4 + Oracle 11.2.0.4 需求:数据库存储由文件系统迁移到ASM 数据库存储迁移到ASM磁盘组 1.1 编辑参数文件指定新的控制文件路径 1.2 启动数据库到nomo ...
- redis命令1
SADD numbers 1 3 5 创建一个名为numbers的intset SADD fruites "apple" "peach" 创建一个hashtab ...
- C# Invoke或者BeginInvoke的使用
在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate. 一.为什么Control类提供了Invoke和BeginInvoke机制? 关于这个问题的最主要的原因已经是do ...
- session的使用方法详解
session的使用方法详解 Session是什么呢?简单来说就是服务器给客户端的一个编号.当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站.当每个用户首次与这台WWW服务器 ...
- 关于xml加载提示: Error on line 1 of document : 前言中不允许有内容
我是在java中做的相关测试, 首先粘贴下报错: 读取xml配置文件:xmls\property.xml org.dom4j.DocumentException: Error on line 1 of ...
- 【问题】关于Mapper not initialized的问题
ERROR -- ::, [ ] nHandling.AbpApiExceptionFilterAttribute - Mapper not initialized. Call Initialize ...
- jdk源码分析PriorityQueue
一.结构 PriorityQueue是一个堆,任意节点都是以它为根节点的子树中的最小节点 堆的逻辑结构是完全二叉树状的,存储结构是用数组去存储的,随机访问性好.最小堆的根元素是最小的,最大堆的根元素是 ...