【Linux】 CentOS6.5安装Python2.7以及pip等工具
CentOS6.5下是原来就有python的,我的镜像里面自带的python版本是2.6.6.如果想要自己更新一个更加新的python版本可以这么做:
安装python2.7安装包。
从官网下载python2.7.13的安装包。
https://www.python.org/download/releases/2.7.13。
解压后做以下几步:
(1) ./configure --prefix=/usr/local/pyton2.7(这里填写自己的安装目录,默认确实就是这个目录)。
(2)执行make命令操作 对源码进行编译。
(3)执行make install 进行安装。
(4)执行make clean 清除安装时生成的临时编译文件
如果没报错就代表 python2.7已经安装到了你的服务器上。
在终端输入python命令,会发现系统原有版本为2.6,并没有使用我们的2.7版本。
这是你可以用which python命令查看该python命令调用的是那个位置的python,一般情况下在/usr/bin/python 这里。但是这里的python指向的系统自带的2.6版本。而我们安装的python2.7的命令在/usr/local/bin/python(前边的路径要根据你的安装路径确定)这里。我们可以把/usr/bin/python 备份成其他名字:cp /usr/bin/python /usr/bin/python。然后做个软连接 ln -s /usr/local/bin/python /usr/bin/python。这个时候 我们再一次在终端输入python命令已经成了2.7版本。
这时候你输入 yum install xxxx 会提示你yum模块找不到。
其实 yum 是依赖原来的python 的。当我们修改了原有的python版本之后这个yum会调用我们的2.7版本的python,而我们2.7版本没有yum就会报错。我们只需要 用 which yum 找到yum的地址,然后 编辑yum文件,然后把文件首行的#!/usr/bin/python 改成#!/usr/bin/python2.6 (其实在/usr/bin下边依然是有python2.6这个文件的)。这样子yum就又可以使用了。
###########我靠,这哥们跟我在笔记上写的几乎一模一样。。。思わず抄过来了###########
安装pip和setuptools
(根据经验一个新系统往往没有zlib-devel,openssl-devel这些包,请确保zlib,zlib-devel,openssl,openssl-devel四个包都在才能确保setuptools和pip的顺利安装)
本来没想搞setuptools的,但是难得记录一下,就干脆乘此机会搞清楚这两个东西之间的关系。setuptools是一个python基础包的管理工具,用它可以对python的第三方包进行安装,升级,卸载等等操作。当我们的python还没安装第三方工具时我们可以通过源码包的方式来安装setuptools。请注意,这个源码包不是C源码而是python源码,也就是说安装套路不是./configure make那一套,而是要python setup.py build再install那一套。(在安装setuptools的过程可能会遇到很多很多依赖包不存在的问题。。最笨的办法,上https://pypi.python.org/pypi一个个搜一个个用python setup.py build再install的套路装)
安装完成之后linux的话会在PATH中有一个easy_install的命令,而windows会在python的根目录的Scripts文件夹中出现一个easy_install.exe的文件(这些都是我自己的感知,肯定有更准确的描述只是我不知道。。)。运行这两个可执行程序就可以安装python需要的一些东西了。比如我们可以用easy_install来装pip。另外,在linux上的安装过程中可能会遇到没有zlib包的错误(根据原博文的描述),其实是要求linux上要有zlib和zlib-devel两个包,看看哪个少了rpm看一下即可。安装完之后需要重新编译安装python一下。
pip和setuptools极其类似(似乎是这样),也是一个方便的python模块管理工具。除了刚才提到的通过setuptools来安装外,当然也可以用源码安装。套路和setuptools基本上是一样的,只不过pip源码安装也是需要setuptools的支持,所以还是一定要先装setuptools的。pip安装成功之后可能无法通过pip install来装python模块,报错的如果是跟https,ssl什么的相关的话,可能是因为linux系统没有安装openssl-devel包,和zlib-devel一样,用yum安装完成之后要重新编译安装下python,再重新安装下pip。此时pip应该就可以安装python模块了。
就我个人而言,我一直习惯用的是pip。pip用法非常简单,在命令行键入pip如果没报错就是安装成功了,安装模块时只需要pip install xxx,如pip install bs4, pip install requests等,pip会自动安装所有这些模块的依赖包以确保一站式模块安装。即装即用。
【Linux】 CentOS6.5安装Python2.7以及pip等工具的更多相关文章
- CentOS6.5安装Python2.7和Pip
注:文中所写的安装过程均在CentOS6.5 x86下通过测试,安装的Python版本为2.7.12,Pip版本为8.1.2 主要参考博文:http://bicofino.io/2014/01/16/ ...
- centos6.5安装python2.7、pip、numpy、scipy
1..安装Development Tools yum groupinstall -y 'development tools' 2.安装SSL.bz2.zlib来为Python的安装做好准备工作 yum ...
- Centos6.5安装python2.7与pip
安装Python2.7 安装环境 [root@localhost1 ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@local ...
- CentOS6.8 安装python2.7,pip以及yum
由于CentOS6.8里自带的yum所依赖的python是2.6.66版本,但是安装pip至少要求python是2.7版本,因而原有的2.6并不能卸载,又得安装新的2.7.之前安装的时候强制卸载了2. ...
- CentOS 6.5上安装python2.7、pip以及Python命令行补全和yum冲突解决
目前CentOS6.5上自带的python版本为2.6,升级到python2.7会碰到很多问题.本文将介绍如何安装python2.7.pip以及python命令行补全. 一.如何安装python2.7 ...
- CentOS6.5上安装Python2.7和PIP
目前大部分用户使用的CentOS6.5上默认的Python还是2.6版本.升级到Python2.7碰到很多问题.本文将介绍如何安装Python2.7. 1. 安装必要的准备包 安装过程将用到gcc,方 ...
- Centos6.5安装Python2.7.9
1. 问题背景 Centos6.5默认自带的python环境是2.6.6,python的一些特性没法使用,所以要对python进行升级,借鉴了网上其他同学的安装教程,但是还是遇到一些坑,不是那木顺利, ...
- centos6.3安装python2.7, pip2.7, mysql
参考: https://github.com/h2oai/h2o-2/wiki/Installing-python-2.7-on-centos-6.3.-Follow-this-sequence-ex ...
- Linux(CentOS6.7) 安装MySql5.7数据库
linux(CentOS6.7) 环境Mysql 5.7.17安装教程分享给大家,供大家参考,具体内容如下: 1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/ ...
随机推荐
- javascript-深入理解&&和||
先从两个问题看起: 第一个问题 为什么 a && b 返回的是true,b && a 返回的是6 var user = 6; var both = true; cons ...
- 第3章 PCI总线的数据交换
PCI Agent设备之间,以及HOST处理器和PCI Agent设备之间可以使用存储器读写和I/O读写等总线事务进行数据传送.在大多数情况下,PCI桥不直接与PCI设备或者HOST主桥进行数据交换, ...
- l【linux】linux rpm包命名规范
RPM包的一般格式为:name-version-arch.rpmname-version-arch.src.rpm name:软件包名称.version:带有主.次和修订的软件包版本.arch:硬件平 ...
- Srtuts2实现登录界面(不连接数据库)报错(四)
1.利用Struts2写一个登录界面,出现以下问题 三月 01, 2014 12:26:18 下午 org.apache.struts2.dispatcher.Dispatcher warn 警告: ...
- JavaScript获取select下拉框中的第一个值
JavaScript获取select下拉框中的第一个值 1.说明 获取select下拉框中的第一个值 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- httpclient的主要业务代码逻辑(图解)
一,主要代码逻辑(图解) 二,两个案例的对比(图解) 三,详细案例 3.1,博文一 httppost的用法(NameValuePair(简单名称值对节点类型)核心对象) 3.2,博文二 httpcli ...
- Docker部署Apollo配置中心
1.Apollot简述 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于 ...
- MySQL新建用户与授权
一.登录root用户 [root@iZm5e9gg1p5y1co0usac2cZ webapps] # mysql -uroot -p 二.新建用户 mysql> create user '; ...
- Java双等号,Equals(),HashCode()小结
默认情况 - 双等号==,比较的是内存地址. - equals(),默认比较的是内存地址. - hashCode(),默认返回的是object的内存地址. String中方法改写的情况 经常会遇到需要 ...
- 【BZOJ3992】序列统计(动态规划,NTT)
[BZOJ3992]序列统计(动态规划,NTT) 题面 BZOJ 题解 最裸的暴力 设\(f[i][j]\)表示前\(i\)个数,积在膜意义下是\(j\)的方案数 转移的话,每次枚举一个数,直接丢进去 ...