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会自动安装所有这些模块的依赖包以确保一站式模块安装。即装即用。