如何修改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)

相关推荐

  • SQL附加数据库失败问题的解决方法

    技术SQL附加数据库失败问题的解决方法这篇文章将为大家详细讲解有关SQL附加数据库失败问题的解决方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。为了偷个懒,利用这个数据

    攻略 2021年11月30日
  • vue组件上绑定原生事件

    技术vue组件上绑定原生事件 vue组件上绑定原生事件将原生事件绑定在组件上 .native 修饰符:
    子组件
    templatediv class="demo"h2我是子组件/h2h3我是子组件中的信息

    礼包 2021年10月26日
  • 数学什么叫因数,小学数学什么是倍数,什么是因数

    技术数学什么叫因数,小学数学什么是倍数,什么是因数①一个整数能够被另一整数整除数学什么叫因数,这个整数就是另一整数的倍数。如15能够被3或5整除,因此15是3的倍数,也是5的倍数。②一个数除以另一数所得的商。如a÷b=c

    生活 2021年10月23日
  • mysql事务有哪些特性

    技术mysql事务有哪些特性小编给大家分享一下mysql事务有哪些特性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!简介事务是由一组sql语句

    攻略 2021年12月11日
  • 如何创建一个好的索引

    技术如何创建一个好的索引 如何创建一个好的索引1、过滤效率高的放前面
    对于一个多列索引,它的存储顺序是先按第一列进行比较,然后是第二列,第三列...这样。查询时,如果第一列能够排除的越多,那么后面列需要

    礼包 2021年12月13日
  • 笑的种类,笑的学问和笑的种类有多少

    技术笑的种类,笑的学问和笑的种类有多少笑 心理学家们现在发现笑的种类:笑是人类与他人交流的最古老的方式之一,而在此之前,笑只被看作是人类幽默感的体现。人类笑是为了和别人团结一致或者嘲笑他们,要么用笑和别人调情。我们中的每

    生活 2021年10月20日