之前写过python 3.x的独立安装,相对来说比较简单直接安装即可,因为对于系统默认的python版本是2.x,那么安装3.x的时候只需要编译到新的目录即可,所有的模块都不会和之前的2有联系,但是如果再安装2.7就不一样了,因为系统已经存在一个2.7的环境,所以新编译的python有可能还使用之前的库,就比如目前系统自带的版本为2.7.5,我们现在安装2.7.15,默认情况下进入新安装的交互式界面,发现版本仍然是2.7.5,还是原来的,原因就是lib重用了,这种情况只需要在编译的时候指定一下参数就可以解决了,下面详细说一下安装过程.

另外注明一下,一般是不推荐安装python 2.x的,我们这里安装时为了在某些特殊情况下需要使用过时的接口而专门安装的,比如我这里会报错undefined symbol: PyUnicodeUCS2_Format,也就是不支持过时的ucs2编码,所以为了不影响现有的系统,才选择重新编译2.7来兼容这个问题;如果项目不存在这些兼容问题,那么推荐使用python 3.

首先安装的包是:Python-2.7.15.tar.xz,即将安装到的目录为:/monchickey/python27

首先解压包:

tar -xJvf Python-2.7..tar.xz
cd Python-2.7./

然后建立一下lib目录,否则待会configure会出错,这个是和之前不一样的地方

mkdir -p /monchickey/python27/lib

安装之前可以确认一下相关的包是否安装,一般情况下都是安装的了,使用yum安装如下:

yum -y install openssl openssl-devel
yum -y install ncurses-devel
yum -y install bzip2-devel
yum -y install sqlite-devel
yum -y install python-devel
yum -y install zlib zlib-devel

然后开始编译和安装:

./configure --prefix=/monchickey/python27 --enable-shared --enable-unicode=ucs2 LDFLAGS="-Wl,-rpath /monchickey/python27/lib"
make -j4
make install

在执行configure的时候,--enable-shared参数一定要指定,LDFLAGS这个参数很关键就是指定编译的lib目录使用我们自定义的目录,如果不加就使用系统的了,最后--enable-unicode是根据需要指定ucs2还是ucs4的编码对齐方式,在系统自带的python2.7或者python3中都是使用的ucs4编码方式,这里就是为了解决上面所说的那个错误而指定的,这个参数或者其他参数根据你实际的项目需要指定,不需要的话直接去掉即可,但是另外两个参数一定要加.

现在python 2.7.15独立环境就安装完毕了,直接调用新的安装目录下的python使用即可.

centos 7下独立的python 2.7环境安装的更多相关文章

  1. centos 7下Hadoop 2.7.2 伪分布式安装

    centos 7 下Hadoop 2.7.2 伪分布式安装,安装jdk,免密匙登录,配置mapreduce,配置YARN.详细步骤如下: 1.0 安装JDK 1.1 查看是否安装了openjdk [l ...

  2. python新手之一环境安装

    今天开始学习python,首先环境安装 1.在https://www.python.org/downloads/下载python2.X或者3.X(ps:这里建议下载32位的python ,因为64位p ...

  3. python学习笔记1之-python简介及其环境安装

    python学习笔记之-python简介及其环境安装 最近几年python之火不用多说,最近开始利用时间自学python,在学习的过程中,按照自己的思路和理解记录下学习的过程,并分享出来,如果正好你也 ...

  4. [原创]win7环境下搭建eclipse+python+django开发环境

    一)工具下载 a)eclipse(最新版4.3.1)官网下载地址 http://www.eclipse.org/downloads/ b)python (2.X版本)官网下载地址 http://pyt ...

  5. windows下多个python版本共存 及安装Django

    了解python的人都知道python有2.x版本和3.x版本,而python3.x版本不向下兼容,但是根据具体的需要,有时候要2.x和3.x共存,python共存本身没有问题,只是需要设置一些环境变 ...

  6. Python系列:一、Python概述与环境安装--技术流ken

    Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...

  7. selenium+python自动化之环境安装

    一.Python安装 1.操作系统:win7 64位系统 2.下载Python安装包,选择2.7版本和3.6版本都可以(最好安装2.7版本稳定)官网下载地址:https://www.python.or ...

  8. python+selenium自动化测试环境安装

    因为自己安装自动化测试环境时,遇到过许多问题,自己整理了一下安装的步骤,感谢那些帮助过我的人. 1.安装python,我装的是3.5版本,网络上也有许多安装步骤,照着就可以了(其实一直下一步也行) 不 ...

  9. Python简介及环境安装

    Python 官网传送门 Python是一种面向对象的解释性计算机程序设计语言. Python 2.7将于2020年1月1日终止支持,本笔记基于Python3. pip pip 是一个现代的,通用的 ...

随机推荐

  1. Slick.js+Animate.css 结合让网页炫动起来

    一个代码示例: html部分 <link rel='stylesheet prefetch' href='//cdnjs.cloudflare.com/ajax/libs/animate.css ...

  2. 并发之AQS原理(三) 如何保证并发

    并发之AQS原理(三) 如何保证并发 1. 如何保证并发 AbstractQueuedSynchronizer 维护了一个state(代表了共享资源)和一个FIFO线程等待队列(多线程竞争资源被阻塞时 ...

  3. poj2442 堆应用

    #include <cstdio> #include <cstring> #include <string> #include <vector> #in ...

  4. gitlab的docker安装,非标准端口,如何处理?

    这个问题的定义是: 如果我们不是用的80端口对外提供服务, 但gitlab的docker容器里的nginx却是80端口, 那么,在我们clone代码时,带的Http地址也会是80端口,这显然会出现问题 ...

  5. Springbatch headerCallback 居然是在processor之前执行的

    今天遇到一个奇怪的问题,在一个step里有一个chunk,还有一个step的listener,这个listener实际上是一个headerCallback,这个headerCallback里面有一个@ ...

  6. hihocoder 编程练习赛23

    第一题:H国的身份证号码I 题意:一个N位的正整数(首位不能是0).每位数字都小于等于K,并且任意相邻两位数字的乘积也小于等于K.按从小到大的顺序输出所有合法的N位号码,每个号码占一行. 思路:dfs ...

  7. [ZJOI2006]书架

    链接:https://www.luogu.org/problemnew/show/P2596 题解: 写了两天的平衡树终于大概弄好了所有模板(模板不熟写错debug真是要死) 对于放在头尾,只需要删除 ...

  8. asp.net core 微信APP支付(扫码支付,H5支付,公众号支付,app支付)之4

    微信app支付需要以下参数,类封装如下 public class WxPayModel { /// <summary> /// 应用ID /// </summary> publ ...

  9. BZOJ3514 Codechef MARCH14 GERALD07加强版 LCT

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ3514 题意概括 N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数. N ...

  10. web扫描工具-Nikto介绍与使用

    Nikto Perl语言开发的开源Web安全扫描器 web扫描模式:截断代理主动扫描 可以扫描的方面:软件版本搜索存在安全隐患的文件服务器配置漏洞WEB Application层面的安全隐患避免404 ...