查看 20212020201920182017 年的 Python 开发者调查结果。

一般 Python 使用情况

Python 作为主要语言与作为辅助语言

Python 与其他语言的使用100+

2022 年
2021 年
37%/40%36%/38%34%/33%31%/33%29%/30%19%/20%11%/10%11%/11%9%/9%8%/9%7%/6%6%/5%4%/4%3%/3%
所有结果

86% 的 Python 开发者在 Python 之外还使用其他语言,其中 JavaScript、HTML/CSS 和 SQL 最受欢迎。

Python 与其他语言的使用100+

主要
辅助
37%/38%37%/32%35%/28%32%/22%27%/37%18%/28%10%/17%10%/18%9%/14%8%/11%6%/5%6%/9%4%/5%3%/6%
所有结果

适用于 Web 和数据科学的语言100+

数据科学
Web 开发
45%/50%34%/66%34%/41%33%/60%32%/19%20%/16%15%/2%11%/8%9%/23%8%/12%7%/14%6%/9%4%/2%3%/4%18%/14%9%/4%

Web 开发是指回答“您最常使用 Python 做什么?”这一问题时选择“Web 开发”的人群。数据科学是指同一问题下选择“数据分析”或“机器学习”的人群。

不出所料,JavaScript 和 HTML/CSS 是最受 Web 开发者欢迎的语言,而 SQL 是数据科学家的首选。

使用 Python 的目的

我们在这一部分提出了一些问题,试图了解人们使用 Python 的目的、参与的开发类型,及其结合多种用途的方式。

您主要出于什么目的使用 Python?

五分之一的受访者仅将 Python 用于工作相关项目,超过一半的受访者将其与个人项目结合使用。

2021 年和 2022 年 Python 的使用100+

2022 年
2021 年
51%/51%43%/45%36%/36%34%/36%30%/31%27%/27%25%/26%20%/22%19%/19%17%/18%13%/12%9%/10%8%/7%6%/6%6%/5%6%/7%

Python 作为主要语言与作为辅助语言的使用100+

主要
辅助
53%/44%45%/31%37%/29%35%/34%30%/28%27%/26%26%/22%20%/23%19%/18%17%/17%13%/12%9%/9%7%/5%7%/10%6%/5%6%/6%

您参与以下活动的程度如何?

主要活动
次要活动
爱好
不参与
24%19%8%49%26%10%7%57%16%11%8%64%14%15%5%66%8%12%10%70%12%7%8%73%11%12%3%75%9%8%4%80%7%6%5%82%6%7%4%83%4%4%4%88%2%2%5%91%3%2%2%92%2%2%2%94%2%2%2%95%5%1%1%94%数据分析Web 开发机器学习DevOps/系统管理/编写自动化脚本Web 解析器/采集器/抓取工具编程教育目的软件测试/编写自动化测试软件原型设计桌面开发网络编程计算机图形游戏开发嵌入式开发移动开发多媒体应用程序开发其他

您最常使用 Python 做什么?

2022 年
2021 年
22%/23%18%/17%12%/11%10%/10%9%/9%5%/5%4%/4%4%/4%3%/3%3%/3%2%/2%1%/1%1%/1%1%/1%1%/1%6%/6%

使用 Python 作为主要语言的受访者大多将其用于 Web 开发 (23%)。

作为辅助语言,Python 最常用于数据分析 (16%) 和 DevOps (14%),Web 开发排在第三位 (13%)。

您是否认为自己是数据科学家?

其他
61%34%5%

只有参与数据分析和机器学习的受访者回答了这个问题。

在参与数据分析和机器学习的 Python 使用者中,约三分之一认为自己是数据科学家。

Python 版本

Python 3 与 Python 2

Python 3
Python 2
93%7%95%5%94%6%90%10%84%16%75%25%2022 年2021 年2020 年2019 年2018 年2017 年

超过 90% 的受访者已经实现 Python 3,

可以说已经获得了主流认可。

Python 2 的用户数量在过去 3 年几乎保持不变,低于 7%。尽管如此,仍有一些人将版本 2 用于数据分析 (29%)、计算机图形 (24%) 和 DevOps (23%)。

Python 版本用例100+

Python 3
Python 2
54%/29%46%/19%38%/13%36%/23%32%/13%27%/14%27%/21%22%/11%19%/18%17%/18%11%/24%8%/13%8%/7%5%/13%5%/11%7%/4%

Python 3 版本

2022 年
2021 年
45%/16%23%/35%17%/27%9%/13%4%/7%2%/2%

请注意,该调查于 2022 年 10 月 14 日至 11 月 14 日进行,Python 3.11 在 2022 年 10 月 24 日才发布。

11%

的 Python 使用者表示不更新 Python 版本,6% 表示由其他人管理更新。

52%

使用 Windows 的受访者通过 python.org 安装 Python,而最受 macOS 和 Linux 用户欢迎的选项是操作系统提供的 Python、Python.org、Docker 容器和 pyenv。

Python 安装和升级100+

37%26%17%17%16%6%6%5%2%2%2%3%11%

注意:Enthought 的份额不到 0.5%,已被合并到“其他”中。

Python 环境隔离100+

49%31%22%16%14%6%4%23%

Poetry 正慢慢成为更流行的 Python 环境隔离工具。2020 年以来,它增加了 6 个百分点。工具看起来很有前途,它的一些特性已经在核心 Python 中实现。

框架和库

Web 框架100+

39%39%25%4%4%4%3%3%2%2%5%27%

Python Web 框架的使用率仍然是 Flask、Django 和 FastAPI 之间的三强之争。

所有其他框架加起来只能勉强排在第三位。去年以来,FastAPI 增加了 4 个百分点,现在有四分之一的 Python 开发者使用它。

您可以在 2022 Django 开发者调查中找到关于 Django 概况的更多信息,该调查是与 Django Software Foundation 合作开展的。

其他框架和库100+

48%29%25%20%15%15%14%13%12%6%6%5%4%4%6%19%

尽管排名前 3 的框架与 2021 年相比没有变化,但 Requests 已经向 httpx 让出了 4 个百分点。

单元测试框架100+

51%24%10%6%6%5%4%1%35%

一般来说,大公司更有可能在 Python 项目中使用单元测试,并且比小公司更广泛地采用 pytest 和 mock。

ORM100+

SQLAlchemy35%Django ORM28%Raw SQL16%SQLObject8%Peewee3%Tortoise ORM3%PonyORM3%Dejavu2%其他4%无数据库开发34%

数据库100+

42%37%36%19%16%12%7%4%3%3%2%2%2%2%6%18%

MS SQL Server 和 Oracle Database 在数据科学家中的受欢迎程度是 Web 开发者的两倍,而大多数其他数据库在 Web 开发者中的采用率要高得多。

大数据工具100+

12%10%6%6%5%3%3%3%2%2%1%69%

31% 的 Python 开发者使用大数据工具,自 2021 年以来增长了 6 个百分点。在数据科学家中,这个数字达到 42%,谁能想到呢?

云平台

66%

的 Python 开发者使用云平台 – 比去年增加了 5 个百分点。

最热门云平台100+

49%33%25%20%16%14%7%6%5%2%9%

只有使用云平台的受访者回答了这个问题。

在非洲的 Python 使用者中,Heroku 是最受欢迎的云平台,有 39% 的开发者使用。开发者使用的其他语言也会影响他们对平台的选择。

不出所料,C# 用户使用 Microsoft Azure 的频率几乎与 AWS 一样高。Go 和 TypeScript 开发者是最活跃的云平台用户,超过 80% 使用云。

您如何在云中运行代码?100+

2022 年
2021 年
47%/48%41%/41%27%/27%27%/24%2%/2%9%/11%

只有使用云平台的受访者回答了这个问题。

您如何进行云开发?100+

2021 年
2020 年
53%/56%41%/40%20%/21%19%/17%18%/18%9%/8%1%/1%10%/9%

只有使用云平台的受访者回答了这个问题。

使用 virtualenv 进行本地开发的受欢迎程度持续下降,自 2020 年以来下降了 7 个百分点。使用 Python 进行 Web 开发的受访者最常使用它。

远程开发环境的使用率正在缓慢稳步上升,自 2020 年以来增加了 3 个百分点。它最常用于机器学习、网络编程和 DevOps。

开发工具

操作系统100+

Linux59%Windows58%macOS26%BSD3%其他1%

与去年相比,macOS 和 Windows 的受欢迎程度几乎保持不变,而 Linux 的使用率下降了 4 个百分点。

持续集成 (CI) 系统100+

35%22%16%6%6%6%3%3%2%2%4%35%

GitHub Actions 的人气持续走高,现在有超过三分之一的 Python 开发者使用它。

与 2021 年相比,CI 工具的总体采用率也上升了 4 个百分点。

34%

的受访者使用持续管理工具,其中 Ansible 最受欢迎,11% 的受访者更喜欢使用自定义解决方案。

文档工具100+

39% 的 Python 使用者使用文档工具,首选 Sphinx,与去年持平。

适用于 Python 开发的工具和功能

至少有时
从不或几乎从不
87%13%86%14%86%14%86%14%77%23%77%23%77%23%76%24%76%24%66%34%65%35%63%37%54%46%48%52%45%55%在编辑器中使用自动补全为项目使用 Python 虚拟环境重构代码使用版本控制系统使用代码 lint 分析为代码编写测试使用 SQL 数据库使用调试器使用可选的类型提示在远程机器上运行/调试或编辑代码使用持续集成工具使用问题跟踪器使用代码覆盖率使用 Python 分析器使用 NoSQL 数据库

编辑器

PyCharm 和 VS Code 是 Python 开发的前两大 IDE,有三分之二的受访者选择。

只有 14% 的受访者只使用一款 IDE 或编辑器,绝大多数 (61%) 同时使用 2-3 款 IDE 或编辑器。26% 的 Python 开发者更喜欢 PyCharm 作为额外 IDE,四分之一选择 VS Code。

主要 IDE/编辑器

37%29%5%3%3%2%2%2%2%2%2%2%1%1%4%3%

为了确定最受欢迎的编辑器和 IDE,我们提出了一个单选问题“您为当前的 Python 开发使用的主要编辑器是什么?”。

数据科学与 Web 开发

数据科学
Web 开发
40%/44%25%/37%3%/4%2%/2%2%/3%2%/2%2%/3%24%/5%

Web 开发是指回答“您最常使用 Python 做什么?”这一问题时选择“Web 开发”的人群。数据科学是指同一问题下选择“数据分析”或“机器学习”的人群。

使用的 IDE/编辑器数量

114%235%326%414%5+11%

除主要 IDE/编辑器外使用的 IDE/编辑器100+

25%23%18%17%14%13%12%9%8%8%6%5%5%5%4%3%2%1%4%14%

Python 打包

85%

的 Python 开发者使用工具隔离项目之间的环境,前 3 位解决方案是 venv、virtualenv 和 Conda。

您使用以下哪种(哪些)工具隔离项目之间的 Python 环境?100+

43%37%21%16%14%6%3%3%15%

您是否在容器中使用虚拟环境?

否,我不在容器中使用虚拟环境
否,我不使用容器
是,我在容器中使用虚拟环境
35%33%32%

自去年以来,在容器中使用虚拟环境的开发者数量增加了 5 个百分点。

您直接使用哪种(哪些)与 Python 打包
相关的工具?
100+

2022 年
2021 年
76%/81%29%/32%26%/30%23%/22%18%/23%15%/13%12%/13%11%/11%9%/10%5%/6%2%/0%2%/2%1%/1%2%/2%8%/7%

虽然前 3 名的工具与一年前相同,但它们的受欢迎程度都在慢慢下降。与此同时,Poetry 的使用率增加了 2 个百分点。

您是否使用标准库模块 venv?100+

42%23%13%12%4%1%11%18%

与 2021 年相比,使用标准库模块 venv 的人数增加了 5 个百分点。

您的应用程序依赖项信息以什么格式存储?100+

2022 年
2021 年
69%/76%33%/26%25%/22%15%/16%11%/11%6%/4%4%/5%4%/3%

使用 requirements.txt 存储应用程序依赖项信息的人气有所下滑,比去年减少了 7 个百分点。

同时,pyproject.toml 表现出同样幅度的增长,现在有三分之一的 Python 开发者使用。

pyproject.toml 经过大量稳定工作达到了功能对等,现在 pip 直接支持

45%

的 Python 开发者使用工具来管理应用程序依赖项的版本。Poetry、pipenv 和 pip-tools 是用于此目的的主要工具,在开发者中的使用率几乎相等。

30%

的 Python 开发者仍然手动更新应用程序依赖项的版本,比一年前下降了 5 个百分点。

您使用哪种(哪些)工具管理应用程序依赖项?100+

poetry30%pipenv28%pip-tools26%其他4%28%

只有使用某些工具来管理应用程序依赖项的精确/确切版本的受访者回答了这个问题。

您从哪里安装软件包?100+

73%33%17%16%12%11%11%10%9%9%4%4%1%10%

PyPI 的使用率下降了 7 个百分点,其他软件包安装方法的使用率与 2021 年几乎持平。

您使用哪种(哪些)工具安装软件包?100+

84%22%15%6%6%3%2%5%
57%

的 Python 使用者使用 Python 开发应用程序,其中 Setuptools、Wheel、build 和 Poetry 是最流行的工具。

您使用哪种(哪些)工具开发
Python 应用程序?
100+

40%29%21%19%7%3%3%3%2%2%4%25%

只有开发应用程序的受访者回答了这个问题。

虽然有超过一半的 Python 用户开发应用程序,但其中只有 41% 的人已经将这些应用发布到软件包仓库。

您在哪里发布 Python 应用程序软件包?100+

只有发布了 Python 应用程序软件包的受访者回答了这个问题。

34%

的受访者已经开发并打包了 Python 库。用于此目的的最流行解决方案通常与 Python 应用程序开发相同。

74%

开发了自己的 Python 库的受访者已经将其发布,主要使用 PyPI 或私有 Python Package Index。

您使用哪种(哪些)工具创建
Python 库的软件包?
100+

只有开发 Python 库的受访者回答了这个问题。

2022 年
2021 年
59%/71%39%/42%30%/26%24%/20%8%/5%5%/3%4%/1%3%/1%2%/1%2%/1%4%/3%

您曾在哪里发布打包的 Python 库?100+

只有发布了打包 Python 库的受访者回答了这个问题。

有趣的是,与去年相比,PyPI 的使用率下降了 9 个百分点,而 PyPI 内部镜像的人气上升了 5 个百分点。

统计数据

团队工作与独立工作

参与项目

就业状况

59%13%7%7%7%5%1%2%

公司规模

8%11%17%26%8%10%18%3%

只有在公司工作的受访者回答了这个问题。

团队规模

2-7 人67%8-12 人19%13-20 人7%21-40 人4%40+3%

只有在公司工作的受访者回答了这个问题。

公司行业

38%7%7%6%4%4%4%
所有结果

只有在公司工作的受访者回答了这个问题。

目标行业

50%5%3%3%3%3%3%
所有结果

只有在公司工作的受访者回答了这个问题。

工作角色100+

65%19%17%15%10%7%6%6%6%5%5%4%13%

只有有工作的受访者回答了这个问题。

年龄范围

18-20 岁9%21-29 岁37%30-39 岁31%40-49 岁13%50-59 岁6%60+3%

Python 经验

不足 1 年23%1–2 年20%3–5 年29%6–10 年18%11 年以上10%

专业编码经验

不足 1 年33%1–2 年19%3–5 年19%6–10 年12%11 年以上16%

您在哪个国家/地区?

所有不足 1% 的国家/地区都已合并到“其他”。

19%11%6%4%4%4%4%3%2%2%2%2%
所有结果

方法和原始数据

想进一步挖掘数据吗?下载匿名调查回复,看看您能学到什么!在 Twitter 上使用话题标签 #pythondevsurvey 提及 @jetbrains@ThePSF,分享您的发现和见解。

在剖析这些数据之前,请注意以下要点:

数据集仅包括来自官方 Python Software Foundation 渠道的回复。滤除重复和不可信的回复后,数据集包括 2022 年 10 月至 12 月收集的超过 23,000 份回复,调查在 python.orgPSF 博客、官方 Python 邮寄名单和 Python 相关 subreddit 以及 PSF 的 Twitter 账户和 LinkedIn 帐号上进行了推广。为了防止调查偏向于任何特定的工具或技术,未使用任何与产品、服务或供应商相关的渠道收集回复。

数据均已匿名处理,不含个人信息或详细地理位置信息。为了防止经评论识别任何个别受访者身份,已删除所有开放式字段。

为了帮助您更好地理解调查的逻辑,我们将共享数据集、调查问题和调查逻辑。我们对答案选项采用了不同的排序方式(字母排序、随机排序和直接排序)。每个问题的答案顺序都经过特殊指定。

回复滤除标准

满足以下任何一项:

  • 未满 18 岁。
  • 没有回答调查第三页上的“您有多少年的专业编码经验?”这个问题。
  • 年龄在 21 岁以下,并拥有 11 年以上的专业编码经验。
  • 多项选择题的单选回答太多(不包括回答“无”)。
  • 来自相同电子邮件地址的多个回复(仅使用一个回复)。
  • 不使用 Python。

至少满足以下两项:

    • 使用超过 16 种编程语言。
  • 超过 9 种工作角色。
  • 回答“您使用 Python 做什么?”时选择了超过 11 个选项。
  • 所选国家/地区按字母顺序排在列表顶部,不在热门国家/地区之列。
  • 同时担任首席执行官和技术支持工作角色。
  • 担任首席执行官而未满 21 岁。
  • 总体选择的答案太多(几乎使用了数据科学、Web 开发、打包等的所有框架)。
  • 回答太快(每个问题不到 5 秒)。

我们再次代表 Python Software Foundation 和 JetBrains 感谢参与本次调查的所有人。在你们的帮助下,我们得以更准确地描绘 Python 社区的概况!

为 PSF 的经常性捐款活动做出贡献。PSF 是一个完全由赞助商、会员和公众支持的非营利组织。

查看 20212020201920182017 年的 Python 开发者调查结果。

探索 JetBrains 的其他大型调查报告

感谢您的参与!

我们希望您觉得我们的报告很有用。与您的朋友和同事分享这份报告。

参加今后的调查:

如果您对本次调查有任何疑问或对未来的调查有任何建议,请发送电子邮件至 surveys@jetbrains.com 或 psf@python.org 与我们联系。