|
|
51CTO旗下网站
|
|
移动端

RHEL 8 中不再默认系统 Python 版本

RHEL 8 中不再默认 Python 版本。包括 RHEL 在内的大多数 Linux 发行版,用户除非离开系统的包管理器环境,否则一般是被默认限定在系统提供的 Python 版本中。

作者:h4cd来源:开源中国|2018-12-20 08:53

RHEL 8 中不再默认 Python 版本。

包括 RHEL 在内的大多数 Linux 发行版,用户除非离开系统的包管理器环境,否则一般是被默认限定在系统提供的 Python 版本中。对于像 Ruby、Node、Perl 与 PHP 在内的许多工具来说这都是习以为常的,但是 Python 的情况会比较复杂一些,因为许多 Linux 工具(如 yum)都直接依赖于 Python。

根据 PEP 394,目前 /usr/bin/python 默认是指 Python2,也就是 “Python”这一命令或者 Python 解释器将默认指向 Python2 版本。

Red Hat 官方在其开发者博客中发文称,针对这一点,为了改善用户体验,从 RHEL 8 Beta 开始不再强调“系统 Python”,不再默认一个 Python 版本。他们使用模块化的 Application Streams 设计,结合 Python 可多版本同时安装的特点,将为用户提供多个版本 Python 的选项,并且可以从标准存储库轻松安装到标准位置,用户可以选择他们想要在任何给定用户空间中运行的 Python 版本。

Application Streams 是在 RHEL 8 中引入的一类存储库,它提供用户可能希望在给定用户空间中运行的所有应用程序,它是在物理存储库中创建的多个虚拟存储库。

这种变化之后,用户想要使用 Python,需要直接指定 Python3 或者 Python2,而不是直接 Python。同时 yum install python 将返回 404,因为它同样需要指定安装版本。建议使用 yum install @python36 或 yum install @python27 安装推荐软件包,而如果只需要 Python 二进制文件,则可以使用 yum install python3 或 yum install python2。此外,pip 等工具也有变化,比如 Python3 将安装在 pip3 路径下,而不是没有版本指定的 pip 路径。

Red Hat 解释,除了提升用户体验,这种方案还让方便了系统维护人员,因为不会被锁定在系统中老版本的 Python 上,那么他们可以自由地利用新版本的语言功能与性能改进等优势。

【编辑推荐】

  1. 小程序·云开发释放四大能力,“人人都是开发者”时代到来
  2. 开发者对比用 GCC 和 Clang 构建的 Firefox
  3. AI开发面临碎片化 深度学习框架要统一
  4. 从秘密开发,员工抗议到戛然而止,复盘Google中国搜索App的前世今生
  5. 超级流量来了!第一批开发者已从百度小程序获益
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Struts 2权威指南:基于WebWork核心的MVC开发

本书所介绍的Struts 2已经完全超出了Struts 1框架原有的高度,Struts 2建立在Struts 1和WebWork两个框架整合的基础之上,因此提供了更多优...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊