编译安装新版本python

一般来说python是linux系统的标配,但是版本一般却很老,
而系统上面的很多服务可能与老的python存在依赖关系,我们又不能直接卸载。
所以一般,我们可以在一个单独的目录来安装python。

python安装有两种方法:
1.源码编译

2.使用pyenv
此处我们使用源码编译安装:
1.下载源码:https://www.python.org/ftp/python/ 此处有各个版本的python请自行下载、
首先,下载源码包,命令如下:
wget --no-check-certificate https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
这里需要特别注意一下,因为下载网址是https开头的,所以要给wget命令加上--no-check-certificate参数。
2.编译源码
解压: tar xf Python-2.7.6.tar.xz
进入目录:cd Python-2.7.6

查看支持模块:./configure --help
编译:./configure --prefix=/usr/local/python27
没有报错 执行make&&make install
安装完成后:
[root@localhost Python-2.7.6]# /usr/local/python27/bin/python2.7
Python 2.7.6 (default, Oct 19 2015, 04:18:14)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
3.安装ipython
tar xf ipython-1.2.1.tar.gz
cd ipython-1.2.1
/usr/local/python27/bin/python2.7 setup.py build

4.创建连接
ln -sv /usr/local/python27/bin/python2.7 /usr/bin/python27
ln -sv /usr/local/python27/bin/ipython /usr/bin/

======================================================

升级CentOS中的Python到2.7.5版本后发现Python在交互模式下方向键显示乱码。查找得知,是由于系统缺少了readline相关模块。CentOS 5.8默认只安装了readline模块而没有安装readline-devel模块,所以只要安装下即可。

#安装readline-devel
$yum install readline-devl
#重新安装python
$./configure
$sudo make install

到此问题应该已经解决了。如果还是不行,可以尝试使用Python自带的readline模块:

#首先配置一下
$./configure
#切换到Modules目录,修改Setup文件
$cd Modules
$vi Setup
#取消#readline readline.c -lreadline -ltermcap行的注释符
#然后再重新安装python
$make install

马哥教育 运维必备python基础语法全讲解在线观看地址:

本帖隐藏的内容

http://pan.baidu.com/s/1c0eq7bq 密码:nzex

% C6 X8 A. @! x( _2 ^0 P- T4 C) @
马哥教育 运维必备python基础语法全讲解下载地址:

本帖隐藏的内容

链接:http://pan.baidu.com/s/1kTDUeHL 密码:j022  解压密码:www.lthack.com

源码安装python的更多相关文章

  1. RHEL6从源码安装python及其他软件包

    RHEL6从源码安装python及其他软件包 ## install ssl $ sudo yum install openssl-devel or: $ sudo apt-get install li ...

  2. Linux基础--------监控系统、进程管理、软件包管理-------free、dd、kill、 rpm、yum、源码安装python

    作业一:1) 开启Linux系统前添加一块大小为15G的SCSI硬盘 2) 开启系统,右击桌面,打开终端 3) 为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区 ...

  3. 06 swap命令,进程管理,rmp命令与yum命令,源码安装python

    作业一: 1)开启Linux系统前添加一块大小为15G的SCSI硬盘 2)开启系统,右击桌面,打开终端 3)为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,大 ...

  4. 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目

    一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...

  5. Cenos(6.6/7.1)下从源码安装Python+Django+uwsgi+nginx到写nginx的环境部署(一)

    梳理下这几个的关系: centos是redhat的社区版操作系统. Python2.7.5是开发语言(centos6.5下自带的python是2.6.6版本,所以需要源码更新,而centos7.1下面 ...

  6. centos 源码安装python

    一.准备环境 首先在官网下载想要的python对应版本http//www.python.org/downloads/source 下载tgz就可以了.文件有两种 1,Python-版本号.tgz(解压 ...

  7. 源码安装python及paramikon的初步试用

    Auth: jin Date: 20140314 OS: CentOS release 5.5 (Final) 默认2.4版本 莫 1.download wget http://www.python. ...

  8. linux源码安装python及pip和django

    1安装编译工具 yum install zlib-devel bzip2-devel openssl-devel python-devel kernel-devel libffi-devel ncur ...

  9. linux上源码安装python

    Linux安装Python2.7 以下例子基于python 2.7.9,其他版本同理.# 1.下载python# wget https://www.python.org/ftp/python/2.7. ...

随机推荐

  1. 启动一个线程是用run()还是start()?

    启动一个线程是用run()还是start()? 答:启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行.这并不意味着线程就会立即运行.run ...

  2. Android中实现app版本更新

    1,获取本地程序apk版本,并开启服务(下面这段代码一般在主Activity中的onCreate()方法中执行的,并开启后台服务下载新版本的apk) //获取apk包文件的管理者对象 PackageM ...

  3. archlinux锁屏

    启动管理器用的是 slim 发现锁屏可以用 slimlock

  4. c++ 容器(list学习总结)

    list是一个线性双向链表结构,它的数据由若干个节点构成,每一个节点都包括一个信息块(即实际存储的数据).一个前驱指针和一个后驱指针.它无需分配指定的内存大小且可以任意伸缩,这是因为它存储在非连续的内 ...

  5. java 文件及流读取

    在Java语言的IO编程中,读取文件是分两个步骤:1.将文件中的数据转换为流,2.读取流内部的数据.其中第一个步骤由系统完成,只需要创建对应的流对象即可,对象创建完成以后步骤1就完成了,第二个步骤使用 ...

  6. (一)MapReduce篇之InputFormat,InputSplit,RecordReader(转)

    平时我们写MapReduce程序的时候,在设置输入格式的时候,总会调用形如job.setInputFormatClass(KeyValueTextInputFormat.class);来保证输入文件按 ...

  7. error CS0007: Unexpected common language runtime initialization error -- '没有注册类别 '

    Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]"Inst ...

  8. IoC 依赖注入、以及在Spring中的实现

    资源来自网络: 去年火得不行的Spring框架,一般的书籍都会从IoC和AOP开始介绍起,这个IoC概念,个人感觉资料里都写得让人看得有些痛苦,所谓IoC,就是控制反转(Inversion of Co ...

  9. java IO复习笔记

    1. IO是什么? Input Output Java的核心库java.io提供了全面的IO接口.包括:文件读写.标准设备输出等.Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流, ...

  10. 关于 ActiveMQ

    今天玩了下 ActiveMQ,希望实现服务器的消息可以通知到各个客户终端. 安装: 1.安装 ActiveMQ 之前必须安装 Java 的 jdk , 可以从此下载:   http://www.ora ...