在2018年秋季,Python软件基金会与JetBrains发起了年度Python开发者调查。 报告的目的是寻找Python领域的新趋势,帮助开发者深入了解2018年Python开发者的现状。
该报告共统计了来自150多个不同国家和地区的超过两万名开发人员的Python使用情况。Python大本营对该报告进行了翻译。
本报告要点如下:
Python 3的渗透率快速增长至84%(2017年为75%),仅有16%的用户使用Python 2作为主要解释器。
越来越多开发者使用Python进行数据分析,该比例从2017年的50%上升至2018年的58%,比使用Python进行Web开发更受欢迎。
将Python作为第一开发语言的开发者中,有半数也使用JavaScript进行开发。Python也经常和HTML/CSS, Bash/Shell, SQL, C/C++,以及Java一起使用。
Web开发者最喜欢的框架是Flask和Django,两者占比均为45%,远远超过了其他Python Web开发框架。
NumPy, Pandas, Matplotlib和SciPy是最受欢迎的数据科学框架和库。专门针对机器学习的库,比如SciKit-Learn, TensorFlow, Keras等也很受欢迎。
AWS是Python开发者最喜欢的云平台,然后是Google Cloud Platform, Heroku, DigitalOcean和Microsoft Azure平台。
2018年受访的开发者中,运维人员的数量明显增加(与2017年相比增加了8个百分点)。在使用Python作为次要语言的开发者中,运维开发已经超过了Web开发。
PyCharm的两个版本是最受欢迎Python开发工具。有趣的是,VS Code的使用率从2017年的7%上升至2018年的16%,成为Python开发第二最受欢迎的编辑器。其他受欢迎的编辑器还有Vim, Sublime以及Jupyter Notebook。
2/3的Python开发者使用Linux作为开发操作系统。
具体报告内容如下:
主要开发语言or辅助开发语言
调查中,84%的Python用户使用Python作为他们的第一开发语言,16%的用户将其作为辅助开发语言。 在2017年,79%用户使用Python作为第一语言,21%用户将其作为辅助开发语言。
除了Python,其他语言使用情况。
根据调查显示:参与调研的Python用户中有一半也使用JavaScript。 2018年的统计数据与2017年的结果非常相似。
用Python是工作需要还是个人需要?
Python使用目的
从数据中看到,2018年的报告中58%的用户用Python进行数据分析,2017年这个数据是50%。机器学习也增长了7个百分点,Web开发与前一年相比仅增加了2个百分点。
你使用Python最多的领域是什么(单选)
该问题是单选,乍一看,Web开发大幅领先(27%),大幅超过数据分析(17%)。但仔细观察后发现,机器学习增长了两个百分点,如果将机器学习和数据分析整合为“数据科学”,这个占比将会达到28%。
对比将Python作为主要开发语言和辅助开发语言,web开发差距最大(29% vs 17%)。对于机器学习和数据分析来说,没有明显差别。
Python3还是Python2?
由于Python2将于2020年停止更新维护,所以越来越的使用者迁移到了Python3,从下图可以看出,有84%的用户使用了Python3.
Python安装和更新无锡人流手术费用 http://www.chnk120.com/
71%的受访者从python.org或OS提供的包管理器(如APT和Homebrew)安装Python。 这与2017年的结果非常相似。
你使用以下工具隔离Python开发环境吗?在开发或部署阶段隔离Python环境已经是很长一段时间以来的最佳实践。 毫无疑问,pipenv和较低级别的virtualenv是创建和管理新的Python环境的两个最常用工具。 令人惊讶的是,21%的Python用户仍未接受这种做法与前一年相比,受访者中Flask的使用量增长了15个百分点,今年Flask已成为最受欢迎的Web框架。 45%的受访者(2017年为41%)选择了Django。
Web框架
通用框架和库
超过一半的Python用户使用了Requests。 Pillow也很受欢迎。
云平台
55%使用云平台的Python用户更喜欢AWS。Google Cloud Platform排在第二位,其次是Heroku,DigitalOcean和Microsoft Azure。大约三分之一的受访者不使用任何云解决方案。
数据库
大多数人使用免费或开源数据库,如PostgreSQL,MySQL或SQLite。由于大量的Python用户正在进行某种形式的机器学习或数据工程,导致MongoDB和Redis等非关系型数据库也非常受欢迎。
大型数据工具更有可能被机器学习工程师使用,这就是为什么76%的受访者没有选择任何工具。
半数受访的Python用户不使用任何CI(持续集成系统)解决方案。最受欢迎的三个CI解决方案是:Jenkins, Gitlab CI和Travis。
配置管理方面,大部分Python用户不使用配置管理工具。
涉及项目数量
17%的Python用户只做一个项目,42%的用户同时做多个项目。