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

相关推荐

  • jquery如何清除兄弟元素

    技术jquery如何清除兄弟元素这篇文章主要介绍“jquery如何清除兄弟元素”,在日常操作中,相信很多人在jquery如何清除兄弟元素问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jqu

    攻略 2021年11月19日
  • 如何编写eosjs传输代码

    技术eosjs转账代码怎么写eosjs转账代码怎么写,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。下面介绍使用V20版本的eosjs实现代币转账的思路,并给

    攻略 2021年12月14日
  • 如何使用JavaScript定义自己的ajax函数

    技术如何使用JavaScript定义自己的ajax函数这篇文章将为大家详细讲解有关如何使用JavaScript定义自己的ajax函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。由于用

    攻略 2021年11月24日
  • oracle 11g(oracle 11g 安装)

    技术orcle 11g rac crs状态正常但节点2数据库未启动怎么办小编给大家分享一下orcle 11g rac crs状态正常但节点2数据库未启动怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,

    攻略 2021年12月18日
  • php如何实现大转盘功能

    技术php如何实现大转盘功能本篇内容介绍了“php如何实现大转盘功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    攻略 2021年11月16日
  • Centos6、7操作系统中怎么开启或关闭ICMP协议

    技术Centos6、7操作系统中怎么开启或关闭ICMP协议小编给大家分享一下Centos6、7操作系统中怎么开启或关闭ICMP协议,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有

    攻略 2021年11月15日