如何修改CentOS 6.x上默认Python版本

技术如何修改CentOS 6.x上默认Python版本这篇文章将为大家详细讲解有关如何修改CentOS 6.x上默认Python版本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最近遇

本文将详细讲解如何在CentOS 6.x上修改默认Python版本,边肖认为还是挺实用的,所以分享给大家参考。希望你看完这篇文章能有所收获。

最近遇到一个问题,就是有一个功能我想在各种服务器上实现,但是服务器上的系统版本可能不一样,有的是CentOS 6.x,有的是CentOS 7.x。

需要注意的是,CentOS 6.x上的Python版本是2.6.x,而CentOS 7.x上的Python版本是2.7.x,这就意味着我要实现的功能要适应这两个版本的系统。

你可能会说,有什么大不了的?自己写的时候注意就行了。

其实事情没那么容易。我想实现的功能是基于一个框架的定制,需要修改很多框架代码。这个框架在不同的Linux版本中有不同的版本,差异巨大。我曾经想过把这个框架安装到CentOS 6.x和CentOS 7.x的同一个版本中,但是最后失败了,因为更高的版本需要Python2.7,而CentOS 6.x只有Python2.6。

这个历史问题被留到了现在。因为这个函数会影响很多代码,所以单独定制框架的两个版本会花费很多时间。为了不维护两个版本,避免浪费额外的精力去适应,我决定将CentOS 6.x上默认的Python2.6升级为Python2.7,这将一劳永逸。

如何修改CentOS  6.x上默认Python版本

以下是整个升级过程,虽然步骤很简单。这些简化的步骤背后有很多坑。我踩上去之后,你可以直接用。

1.首先在你的机器上确认默认的Python版本。

$python-V

Python2.6.6

$ whereispython

python :/usr/bin/python/usr/bin/python 2.6/usr/lib/python 2.6/usr/lib 64/python 2.6/usr/local/bin/python/usr/include/python 2.6/usr/share/man/man1/python . 1 . gz

一定要全部安装,不然你会发现很多python工具以后都不能用了。

比如setuptools没有zlib就无法安装,pip工具没有openssl和open SSL-dev就无法使用等等。

$yuminstallgcc-y

$yumgroupinstall“开发工具”

$ yumingstallzlib-develop bzip2-developenslopenssl-develop curses-develop SQLite-develop如果不按照我的步骤在这里安装,以后使用会出现各种问题。不要慌,只要再次回到这里,把还没有安装的包放进去,安装完成后,需要进入第四步重新编译安装Python。

3.下载最新的Python2.7.x安装包,解压后进入指定目录。

$ wget https://www . Python . org/FTP/Python/2 . 7 . 14/Python-2 . 7 . 14 . tgz

$tarzxvfPython-2.7.14.tgz

$cdPython-2.7.144,配置、编译和安装

#-前缀指定python安装的路径。

$./configure-prefix=/usr/local/python/python 2.7

$制作

在执行$make安装后。/configure命令,创建一个文件,为下面的make命令创建Makefile。执行makeinstall后,程序将安装在我们指定的目录中。

Configure是一个具有许多选项的可执行脚本。使用要安装的源路径下的命令。/configure帮助输出选项的详细列表。前缀选项是配置安装的路径。如果未配置此选项,默认情况下,可执行文件将放置在/usr /local/bin中,库文件将默认放置在/usr/local/lib中,配置文件将默认放置在/usr/local/etc中,其他资源文件将默认放置在/usr /local/share中。如果配置-

-prefix,如:./configure --prefix=/usr/local/test 可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。

用了 --prefix 选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。当然要卸载程序,也可以在原来的make目录下用一次 make uninstall,但前提是make文件指定过uninstall。

5、查看此时系统的Python版本

$ python -V
Python 2.6.6

如果你查看还是 Python 2.6.6 版本,请继续看第六步。

6、修改系统默认的 Python 版本

查看新安装的Python版本,当前系统的Python版本,并将系统指向的Python从2.6.x修改为2.7.x,再次查看当前系统的Python版本,已经变更为2.7.x。

# 这是我们刚安装的 Python
$/usr/local/bin/python2.7 -V
Python 2.7.14
# 这是系统默认 Python
$ /usr/bin/python -V 
Python 2.6.6
# 备份原来的 Python 文件
$ mv /usr/bin/python /usr/bin/python.bak
# 建立软链接,将我们刚安装的 python2.7 做为系统默认版本
ln -s /usr/local/bin/python2.7 /usr/bin/python
# 再次查看 Python 版本,已经成功切换过来
$ python -V
Python 2.7.14

7、重新指定 yum 的Python版本

上面我们改了系统的默认 Python 版本,由于CentOS 6.x 的 yum 是基于Python2.6 的,为了不影响 yum 的使用,需单独将yum指向python2.6版本。

编辑:vim /usr/bin/yum

将/usr/bin/python 改成 /usr/bin/python2.6

#!/usr/bin/python2.6

8、安装 setuptools 及 pip

pip是python的安装工具,很多python的常用工具,都可以通过pip进行安装。要安装pip,首先要安装setuptools。

# 下载 setuptools
$ wget https://pypi.python.org/packages/ff/d4/209f4939c49e31f5524fa0027bf1c8ec3107abaf7c61fdaad704a648c281/setuptools-21.0.0.tar.gz#md5=81964fdb89534118707742e6d1a1ddb4

同样的,进行安装:

$ tar vxf setuptools-21.0.0.tar.gz 
$ cd setuptools-21.0.0
$ python setup.py install

安装完成后,下载pip。

# 下载 pip
wget https://pypi.python.org/packages/41/27/9a8d24e1b55bd8c85e4d022da2922cb206f183e2d18fee4e320c9547e751/pip-8.1.1.tar.gz#md5=6b86f11841e89c8241d689956ba99ed7

同样的,进行安装:

$ tar vxf pip-8.1.1.tar.gz 
$ cd pip-8.1.1
$ python setup.py install

安装完成后,执行 pip list 查看一下安装的包,或者也可以试着安装一下第三方包 pip install requests 看是否使用正常。

关于“如何修改CentOS 6.x上默认Python版本”这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/94351.html

(0)

相关推荐

  • 六允读什么,允字上部是什么字,读音是什么

    技术六允读什么,允字上部是什么字,读音是什么“允”字的拼音是yǔn六允读什么。
    1、允的解释:一是答应,认可;二是公平得当;三是信,实;四是宽容,理解;五是包容;六是大、极致。
    2、组词、解释及造句
    (1)允许(yǔnx

    生活 2021年10月25日
  • 【自然语言处理】:seq2seq当中的Attention注意力机制

    技术【自然语言处理】:seq2seq当中的Attention注意力机制 【自然语言处理】:seq2seq当中的Attention注意力机制一.seq2seq机制
    传统的seq2seq机制在语言翻译当中使

    礼包 2021年10月26日
  • oracle用户密码是什么加密的(oracle用户密码在哪个文件)

    技术Oracle密码文件有什么用这篇文章将为大家详细讲解有关Oracle密码文件有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。--=======================

    攻略 2021年12月14日
  • openwrt内网穿透作用(openwrt内网穿透多端口)

    技术OpenWRT如何穿透内网这篇文章将为大家详细讲解有关OpenWRT如何穿透内网,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  UMU 把路由器放在公司,然后在家里想登陆它,这时

    攻略 2021年12月18日
  • jq笔记汇总

    技术jq笔记汇总 jq笔记汇总alert(); 这是简写
    window.alert(); 这是全称,所以可以直接来一个 onload= function (){}jquery对象的三种表现形式
    $(do

    礼包 2021年11月9日
  • 深入理解C++11-附录B

    技术深入理解C++11-附录B 深入理解C++11-附录B深入理解C++11
    附录B
    弃用的特征
    1.auto:
    可在任何需要声明变量类型的上文中使用,但不能声明函数参数(因为重载的原因,不能这么使用)

    礼包 2021年11月23日