本文将详细讲解如何在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,这将一劳永逸。
以下是整个升级过程,虽然步骤很简单。这些简化的步骤背后有很多坑。我踩上去之后,你可以直接用。
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