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

相关推荐

  • windows平台bugfree3.0.3搭建心得是什么

    技术windows平台bugfree3.0.3搭建心得是什么windows平台bugfree3.0.3搭建心得是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易

    攻略 2021年10月25日
  • BASE64处理文件

    技术BASE64处理文件 BASE64处理文件Base64:
    Base64是一种编码方式,基于64个ASCII字符来表示二进制数据,Base64将8个bit为一个单位的字节数据拆分为以6个bit为一个单

    礼包 2021年12月24日
  • HBase原理、基本概念、基本架构-3

    技术HBase原理、基本概念、基本架构-3 HBase原理、基本概念、基本架构-3HBase是Apache Hadoop的数据库,能够对大型数据提供随机、实时的读写访问。HBase的目标是存储并处理大型

    礼包 2021年12月22日
  • MYSQL中如何使用handler

    技术MYSQL中如何使用handler小编给大家分享一下MYSQL中如何使用handler,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!HAN

    攻略 2021年10月27日
  • 如何解决RocketMQ主从同步若干问题

    技术如何解决RocketMQ主从同步若干问题这篇文章将为大家详细讲解有关如何解决RocketMQ主从同步若干问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、初识主从

    攻略 2021年10月29日
  • Flex应用的误区有哪些

    技术Flex应用的误区有哪些这篇文章给大家分享的是有关Flex应用的误区有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Flex应用的十大误区1.使用RIA框架去构建Web1.0应用(新技

    攻略 2021年12月4日