在2018年秋季,Python软件基金会与JetBrains发起了年度Python开发者调查。 报告的目的是寻找Python领域的新趋势,帮助开发者深入了解2018年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作为开发操作系统。
具体报告内容如下:
1、python参与的领域开发:Python游戏开发最主要是作为业余爱好,而Web开发、机器学习、数据分析和软件测试主要用在职业开发方面。
2、Python安装和更新:71%的受访者从python.org或OS提供的包管理器(如APT和Homebrew)安装Python。 这与2017年的结果非常相似
3、隔离Python开发环境的工具:在开发或部署阶段隔离Python环境已经是很长一段时间以来的最佳实践。 毫无疑问,pipenv和较低级别的virtualenv是创建和管理新的Python环境的两个最常用工具。
4、Web框架:与前一年相比,受访者中Flask的使用量增长了15个百分点,今年Flask已成为最受欢迎的Web框架。 45%的受访者(2017年为41%)选择了Django。
5、数据科学框架和库:最流行的数据科学框架和库是:NumPy,Pandas,Matplotlib和SciPy。 特定于机器学习的库,如SciKit-Learn,TensorFlow,Keras等也非常受欢迎,这与机器学习领域的快速发展密切相关。
6、通用框架和库:超过一半的Python用户使用了Requests。 Pillow也很受欢迎。还有Scrapy、Asyncio(实现异步I/O、事件循环、协作和任务)、Tkinter和wxPython(图形开发界面的库)、PyQT(创建Python GUI应用程序的工具包)
7、云平台:55%使用云平台的Python用户更喜欢AWS。Google Cloud Platform排在第二位,其次是Heroku,DigitalOcean和Microsoft Azure。大约三分之一的受访者不使用任何云解决方案。
8、测试框架:最受欢迎的单元测试框架是pytest,然后是unittest。 其他单元测试框架受欢迎程度一般。 不过35%的Python用户不使用任何测试框架,并且可能没有测试他们的代码。 在上边“隔离Python开发环境”部分中,我们发现大约五分之一的Python用户不使用Python隔离。
9、数据库:大多数人使用免费或开源数据库,如PostgreSQL,MySQL或SQLite。由于大量的Python用户正在进行某种形式的机器学习或数据工程,导致MongoDB和Redis等非关系型数据库也非常受欢迎。
10、ORM:两个最流行的ORM是SQLAlchemy和Django ORM,它们与两个领先的Web开发框架:Flask和Django的流行度相匹配。