原标题:Python未来可能面临的四大转折

【IT168 评论】Python最好的时代已经过去了,还是未曾来临?该语言广受好评并且可以广泛部署,过去一段时间内,它在许多领域享受爆炸性地增长,如机器学习领域。它具有清晰的语法,适用于多种操作系统,目前在国际上有着越来越多的应用。

本月晚些时候将正式发布3.6的最终版本,除了新增的特性之外,根据目前的介绍,Python 3.6还将废弃一些模块、函数、方法和特性。例如,3.6将正式废弃使用 mportlib.machinery.SourceFileLoader.load_module()和 importlib.machinery.SourcelessFileLoader.load_module()方法;pyvenv脚本也将被废弃,鼓励使用 python3 -m venv,这样可以避免搞错pyvenv所关联的版本。除此之外,还有哪些值得关注的地方呢?下面是Python在未来几个月可能的发展方向。

1、Python 2.x可能继续存在

Python的2.x分支版本在2020年将停止更新,同时,Python 3将被定为该语言的未来发展方向。但这并没有阻止开发者使用Python 2.x,特别是因为许多软件仍然是仅2.x或向后兼容。

如果开发人员坚持使用,Python 2.x也可能继续存在。大多数比较受欢迎并且支持兼容Python 2和Python 3的库是通过运行在各自平台上的语言子集(subset)来写的。Python的一大优势就在于拥有众多的第三方库,但Python 3整体改变不大,反倒失去了好多优势,虽然Python 3已经移入了很多库,但对于开发而言,还远远不够。如果,你需要将程序从Python 2迁移至Python 3又需要花费大量的时间和人力,显然与“快速开发”相违背,一种解决方案就是,Python 3中的功能向后移植到Python 2,至少有这样一个方式需要Python 2.x的存在,你不妨看看Naftali Harris的“Python 2.8”项目,它是从Python 3到Python 2.x分支的改进,并进行了相应的错误修复。

长期来看,3.x的这一飞跃是有意义的,但是在未来几年,我们可能会看到很多继续坚持2.x的开发者的努力。尤其是很多已经使用了Python 2.x的企业,绝不会短时间内轻易迁移。

2、Requirements.txt可以被更好的替换

使用pip软件包管理器安装的Python软件包将其外部依赖关系列在名为requirements.txt的文件中。但它做的工作不是很多,还有很多改进的余地。

Pipfile已经被Python负责包管理的人员提议作为可能的替代品,它是“在Python包中维护许多相关项目的工作组”,一种新的声明Python应用程序依赖关系的方式。Pipfiles允许使用Python包和与其他Python一致的语法来描述更具体的依赖关系。可以为包的发行版和开发版单独指定依赖关系,从而更轻松地重现安装包所需的确切条件。这是一个正在进行的工作,但现在的基本想法似乎很清楚。

在许多情况下,使用Pipfile只能先列出需求再使用它来完成。如果Pipfile逐渐替代requirements.txt,可能后续还存在一些更换问题。

3、Python可以有更多的企业版本

Python默认版本是面向大多数开发人员的,由于该语言已经获得了很多开发人员和社区的支持,也出了可以专门解决企业级问题的版本。

一个常见的例子是ActiveState公司宣布公开发行Stackato,该平台支持Python。但这种趋势不仅适用于企业版本,它也补充了企业中的数据科学版本。例如,英特尔选择重新打包Anaconda的Python科学计算包,然后使用扩展来提高速度,尽管只有英特尔的处理器。Anaconda本身是由Continuum Analytics生产的,对企业数据分析的需求并不陌生。

起初这似乎很狭窄,因为并不是每个人都用Python来做数据科学分析。但可以有其他收获,例如Numba,一个Continuum Analytics创建的可以为任何Python项目进行性能提升的项目。现在的Python已经在广泛的科学计算领域发挥着独特的作用,有很多模块可以帮助开发者在计算巨型数组、矢量分析、神经网络等方面高效率完成工作,在教育科研方面也发挥出独特的优势。

4、Python的新软件存储库系统以企业友好的方式进行Python包管理

Python的包管理已经走了很长的路,但很少反映企业内部的需求。未来另一个可能的趋势是Python企业级包索引概念,已经由Nimble Storage的Cristian Medina发起了讨论:

企业总是需要一个内部部署的,安全,加密和高度可用的编译二进制文件分发机制。与提供各种安装功能的setuptools一起,可以覆盖非Python代码,似乎我们可以组成一个体面的产品,像Docker私有注册表一样。

结语

现在的Python已经被很多开发者所接受,并且早已成功用于企业部署中。一旦用于企业部署,价值往往就会被放大,如果社区不重振旗鼓并复兴Python 2,那就意味着Python 3会在几年后成为Python的标准,同时会有更多的类库接入(有些类库或许永远也无法接入),也会有很多人离开社区或者进入社区。不知道这对于Python来说,究竟是否是件好事?Python会成为下一个Perl吗?返回搜狐,查看更多

责任编辑:

python四大软件-Python未来可能面临的四大转折相关推荐

  1. python中文软件-Python

    Python是一款通用型的计算机程序设计语言,Python对编程人员来说是一款非常有利的工具,可以让您快速编写代码,而且代码运行速度非常快.Python具有非常简捷而清晰的语法特点,适合完成各种高层任 ...

  2. python所有软件-python

    Python是一款通用型的计算机程序设计语言,Python对编程人员来说是一款非常有利的工具,可以让您快速编写代码,而且代码运行速度非常快.Python具有非常简捷而清晰的语法特点,适合完成各种高层任 ...

  3. 苹果手机上的python编程软件-Python编程软件有哪些?

    Python开发软件可根据其用途不同分为两种,一种是Python代码编辑器,一种是Python集成开发工具,两者的配合使用可以极大的提高Python开发人员的编程效率,以下是常用的几款Python代码 ...

  4. python四大软件-Python实用模块(二十)Apscheduler

    软硬件环境 windows 10 64bits anaconda with python 3.7 视频看这里 前言 说起定时任务,第一反应应该是windows自带的计划任务或者linux自带的cron ...

  5. python中文软件-Python编程软件下载

    MRT7-Python软件是一款Python少儿编程软件,分为图块Boclky 编程模式.Python代码编程模式,同时也可以配合设备使用!软件使用都不是很困难,用户只需要根据自己的系统选择安装版本即 ...

  6. python学习软件-python软件学习从入门到精通

    我也是刚开始学习Python,不像大多数人致力于想要成为一个优秀的程序员,而我想要的就是努力为了我家妞做一款专门给她完的游戏或者软件. 开始学习第一章 起步 最开始当然是程序的搭建,起码要知道自己的电 ...

  7. python爬虫软件-Python爬虫工具篇 - 必会用的6款Chrome插件

    在日常 PC 端的 Python爬虫过程工作中,Chrome 浏览器是我们常用的一款工具. 鉴于 Chrome 浏览器的强大,Chrome 网上应用商店很多强大的插件可以帮助我们快速高效地进行数据爬虫 ...

  8. python手机软件-Python爬虫:抓取手机APP的数据

    分享一篇文章,原文来自:j_hao104的个人页面. 摘要 大多数APP里面返回的是json格式数据,或者一堆加密过的数据 .这里以超级课程表APP为例,抓取超级课程表里用户发的话题. 1.抓取APP ...

  9. python下载软件-python下载工具

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! you-get是一个基于 python 3 的下载工具. 使用 you-get ...

最新文章

  1. 如果只能通过IE写博客【Do we write blog just only with IE?】
  2. 32拟合分析_SigmaPlot14.5:指导用户逐步完成图形创建和数据分析过程
  3. Linux下 SpringBoot jar项目后台运行、查看、停用
  4. 通过ping命令测试主机与虚拟机之间是否连通
  5. ssh连接不上linux虚拟机
  6. HTML在线颜色代码选取器源码
  7. sql语法中u‘‘ n‘‘详解
  8. Mongodb性能监控
  9. Kali安装问题解决方案
  10. centos开机卡进度解决方案
  11. 计算机在教学中应用论文,极域电子教室在计算机教学中的应用
  12. OJ每日一练——计算分数加减表达式的值
  13. 你的成就只能代表着你过去的努力程度
  14. Excel的Text函数详解
  15. 看《大明王朝1566》聊分布式中的CAP和BASE理论
  16. 路径与轨迹、路径规划与轨迹规划、路径跟踪与轨迹跟踪
  17. JPA设置in参数时报错(Encountered array-valued parameter binding, but was expecting [java.lang.String (n/a)])
  18. FT6206在STM32上的调试记录
  19. dev c++播放音乐MP3(win环境)亲测有效
  20. 某奏云资源网址打不开的N种处理方法(亲测好用)

热门文章

  1. Web Cookie详解
  2. keras 修仙笔记一
  3. LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  4. 软件工程 speedsnail 冲刺3
  5. 实现 对象在内存中的引用一致性 之第一步
  6. 百度搜索引擎提供了一段嵌入到页面中的代码
  7. 含有自增字段的插入问题
  8. PHP的简单跳转提示的实现
  9. scala 时间格式转换(String、Long、Date)
  10. python3 scrapy+Crontab部署过程