centos6上使用fpm打python2.7 rpm包并兼容python2.6
centos6上使用fpm打python2.7 rpm包并兼容python2.6
工作中我们常常会因为各种软件技术要求在centos6上安装python2.7 (比如说一些科学计算方面的应用),同时要求系统保留python2.6不动,因为yum是依赖于python2.6的,如果用python2.7覆盖系统默认的python2.6,那yum可能就实效了。
操作步骤
1 下载安装python2.7源包
这个下载的是 Python-2.7.8.tar.xz
解压 tar xvf Python-2.7.8.tar.xz
2. 编译安装
./configure --prefix=/usr/local
这个把python安装到/usr/local/下最后生成的可执行文件会到/usr/local/bin/python, /usr/local/bin 在系统环境变量中是在python2.6环境变量位置/usr/bin之前,所以在这个位置安装python2.7系统就会默认使用python2.7, 同时yum依赖的python2.6 /usr/bin/python 没有任何变化.
make && sudo make install DESTDIR=/tmp/installdir-python27
这个/tmp/installdir-python27这个目录是临时文件夹用来专门给 fpm打包用的.
3. 安装pip2.7
wget https://bootstrap.pypa.io/get-pip.py
/tmp/installdir-python27/usr/local/bin/python2.7 get-pip.py
#这样pip2.7就会安装到临时文件夹/tmp/installdir-python27/usr/local/bin/下面,不过/tmp/installdir-python27/usr/local/bin/pip2.7中的头部python引用地址会多了/tmp/installdir-python27,把它改成/usr/lobal/bin/python2.7就ok了。
4. fpm 打包
fpm -s dir -f -t rpm -n python --epoch 0 -v '2.7.8' --verbose --description 'python2.7.8 build' --url 'www.easemob.com' --license 'BSD' -C /tmp/installdir-python27 .
执行过后,python-2.7.8-1.x86_64.rpm 就会在当前目录生成。
5. 安装新的python2.7 rpm包
为了更方便的在各个centos6系统中快速的安装python2.7, 我们可以把python2.7 rpm放到yum源中(如果已经有yum源了,可以直接copy过去,并执行createrepo --update /repo/path 来更新yum仓库)。
当然可以直接copy到centos6,直接安装rpm -ivh


大功告成,fpm真的很给力!
centos6上使用fpm打python2.7 rpm包并兼容python2.6的更多相关文章
- 使用FPM打包工具打rpm包
使用FPM打包工具打rpm包 一:安装ruby环境和gem命令 fpm 是 ruby写的,因此系统环境需要ruby且版本必须大于1.8.5 # yum -y install ruby rubygems ...
- fpm工具来制作rpm包软件
第1章 rpm包的制作 1.1 fpm的概念介绍 FPM功能简单说就是将一种类型的包转换成另一种类型 1.1.1.支持的源类型 类型 说明 dir 将目录打包成所需要的类型,可以用于源码编译安装的 ...
- fpm打包神奇rpm包升级python2.7.16
fpm打包神器参考文档:https://www.cnblogs.com/flintlovesam/p/6594635.html FPM的安装:安装ruby环境和gem命令: yum -y instal ...
- fpm制作rpm包
一.前言 在企业中我们有事安装软件包.部分都是源码安装,如nginx安装路径都已经固化了,但实际业务中,我们都是把软件包安装到固定目录下,不满足需要,这是其一.其二,编译安装很耗时,比如mysql,特 ...
- FPM打包工具 可以把源码包制定为rpm包 是自动化部署的环节
注意部FPM时的环境一定要跟生产环境的系统版本最好是保持一至,我第一次测试没通过,(我在CENTOS7和部属FPM打好的包在Centos6.x和安装,结果失败) 1:安装 FPM打包工具的依赖包: [ ...
- MySQL在linux上的rpm包方式安装方法
1.下载上传mysql server和client rpm包: [root@faspdev mnt]# ls MySQL-client-5.5.53-1.el6.x86_64.rpm MySQL-se ...
- 定制化rpm包及本地yum仓库搭建
为方便本地yum的管理,一般都是在公司局域网内搭建本地yum仓库,实现公司内部快速安装常用软件. 步骤如下: 1.搭建要实现本地yum管理的软件,测试该软件搭建成功与否: 2.定制rpm包及其相关依赖 ...
- 速成制作rpm包
FPM 由于很多软件在安装时需要编译,这会浪费不少的时间,为了提升部署效率,于是就想到制作rpm包.通常rpm包的制作是使用rpmbuild命令来制作,但是你需要知道它的语法,比较繁琐.这就用到了FP ...
- CentOS 下 rpm包与 yum 安装与卸载
rpm包的安装: 1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安 ...
随机推荐
- (数据科学学习手札10)系统聚类实战(基于R)
上一篇我们较为系统地介绍了Python与R在系统聚类上的方法和不同,明白人都能看出来用R进行系统聚类比Python要方便不少,但是光介绍方法是没用的,要经过实战来强化学习的过程,本文就基于R对2016 ...
- LeetCode算法1—— 两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], target ...
- Spark 实践
1.1 避免使用 GroupByKey 让我们看一下使用两种不同的方式去计算单词的个数,第一种方式使用 reduceByKey, 另外一种方式使用 groupByKey: val words = ...
- 【转】使用git提交项目到码云
一.git安装 1.首先在官方网站下载git工具,或者根据以下链接进行下载:http://download.csdn.net/detail/qq_27501889/9788879(此链接版本为git- ...
- 4269: 再见Xor
4269: 再见Xor 链接 分析: 和SGU 275唯一不同的就是需要求出次小值,那么异或出最大值的所有元素中,找到最小的,去除即可. 代码: #include<bits/stdc++.h&g ...
- shell -- 大括号和小括号
在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下: 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string ...
- Thymeleaf 常用th标签基础整理
(一)Thymeleaf 是个什么? 简单说, Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全替代 JSP .相较与其他的模板引擎,它有如下 ...
- babel配置
首页 首页 首页 博客园 博客园 博客园 联系我 联系我 联系我 demo demo demo GitHub GitHub GitHub 管理 管理 管理 魔魔魔芋芋芋铃铃铃 [02]websto ...
- 引用外部静态库(.a文件)时或打包.a时,Category方法无法调用。崩溃
我的这个是MJRefresh,学习打.a包Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: ...
- MQTT 开源代理mosquitto的网络层封装相当sucks
最近学习MQTT协议,选择了当前比较流行的MQTT Broker “mosquitto”,但是在阅读代码过程中发现其网络底层库封装的相当差劲. 对于MQTT协议的变长头长度的读取上,基本上采取每次一个 ...