主要
辅助
2021 年 | 2022 年 | 2023 年 | |
---|---|---|---|
40% | 37% | 35% | JavaScript |
38% | 36% | 32% | HTML/CSS |
33% | 31% | 29% | Bash/Shell |
33% | 34% | 31% | SQL |
30% | 29% | 25% | C/C++ |
20% | 19% | 19% | Java |
11% | 11% | 12% | C# |
10% | 11% | 13% | TypeScript |
9% | 8% | 8% | Go |
9% | 9% | 7% | PHP |
6% | 7% | 7% | Rust |
5% | 6% | 5% | R |
4% | 4% | 4% | Visual Basic |
3% | 3% | 3% | Kotlin |
2% | 2% | 2% | Ruby |
2% | 2% | 1% | Perl |
2% | 2% | 2% | Swift |
2% | 2% | 2% | Scala |
1% | 1% | 1% | Objective-C |
1% | 1% | 1% | Clojure |
1% | 2% | 1% | Groovy |
1% | 1% | 1% | CoffeeScript |
– | – | 1% | Julia |
– | – | 1% | Mojo |
8% | 7% | 7% | 其他 |
13% | 14% | 17% | 无 |
目前,人们对使用 Go 和 Rust 编写低延迟和内存安全型应用程序的兴趣日益浓厚。
35%
38%
JavaScript
33%
31%
HTML/CSS
32%
26%
SQL
29%
25%
Bash/Shell
23%
35%
C/C++
40%
44%
SQL
30%
36%
Bash/Shell
30%
62%
JavaScript
28%
53%
HTML/CSS
25%
14%
C/C++
19%
15%
Java
12%
27%
TypeScript
Web 开发是指回答“您最常使用 Python 做什么?”这一问题时选择“Web 开发”的人群。数据科学是指同一问题下选择“数据分析”或“机器学习”的人群。
不足 1 年
1–2 年
3–5 年
6–10 年
11 年以上
不足 1 年
1–2 年
3–5 年
6–10 年
11 年以上
的 Python 开发者表示去年为开源项目做出了贡献。
的 Python 开发者表示正在实践协作开发。
我们在这一部分提出了一些问题,试图了解人们使用 Python 的目的、参与的开发类型,及其结合多种用途的方式。
用于工作和个人
用于个人、教育或编外项目
用于工作
2021 年 | 2022 年 | 2023 年 | |
---|---|---|---|
51% | 51% | 44% | 数据分析 |
45% | 43% | 42% | Web 开发 |
36% | 36% | 34% | 机器学习 |
– | – | 27% | 数据工程 |
36% | 34% | 26% | DevOps/系统管理/编写自动化脚本 |
31% | 30% | 25% | Web 解析器/采集器/抓取工具编程 |
– | – | 25% | 学术研究 |
26% | 25% | 23% | 软件测试/编写自动化测试 |
27% | 27% | 22% | 教育目的 |
– | – | 21% | 设计/数据可视化 |
22% | 20% | 19% | 软件原型设计 |
19% | 19% | 15% | 桌面开发 |
18% | 17% | 14% | 网络编程 |
12% | 13% | 10% | 计算机图形 |
10% | 9% | 10% | 游戏开发 |
– | – | 8% | MLOps |
5% | 6% | 7% | 多媒体应用程序开发 |
7% | 8% | 7% | 嵌入式开发 |
6% | 6% | 6% | 移动开发 |
7% | 6% | 6% | 其他 |
请注意,列表在 2023 年进行了扩展,添加了新选项。
44%
40%
数据分析
44%
33%
Web 开发
34%
29%
机器学习
28%
20%
数据工程
26%
21%
学术研究
26%
26%
DevOps/系统管理/编写自动化脚本
25%
23%
Web 解析器/采集器/抓取工具编程
Web 开发
数据分析
机器学习
数据工程
学术研究
DevOps/系统管理/编写自动化脚本
教育目的
软件测试/编写自动化测试
软件原型设计
设计/数据可视化
Web 解析器/采集器/抓取工具编程
桌面开发
网络编程
2023 年
2022 年
2021 年
2020 年
2019 年
2018 年
2017 年
几乎一半的 Python 2 支持者年龄在 21 岁以下,三分之一是学生。也许教学课程仍在使用 Python 2?
2021 年 | 2022 年 | 2023 年 | |
---|---|---|---|
– | – | 2% | Python 3.13 |
– | – | 19% | Python 3.12 |
– | – | 31% | Python 3.11 |
16% | 45% | 23% | Python 3.10 |
35% | 23% | 11% | Python 3.9 |
27% | 17% | 8% | Python 3.8 |
13% | 9% | 3% | Python 3.7 |
7% | 4% | 2% | Python 3.6 |
2% | 2% | 1% | Python 3.5 或更低版本 |
注意:2023 年,Python 3.7 及以下版本已达到其生命周期末尾。Python 3.12 于 2023 年 10 月发布(本次调查开始前 1 个月),并且已经被广泛采用。在本次调查中,使用 Python 3.13 的开发者正在使用 alpha 版本。
几乎 75% 的用户使用 Python 的最新 3 个版本。这是好消息!由于最新版本的 Python 在性能和便利性方面的改进,社区采用得很快。
注意:Enthought 的份额不到 0.5%,已被合并到“其他”中。
请注意,列表在 2023 年进行了扩展,添加了新选项。
36%
42%
Flask
31%
46%
FastAPI
31%
40%
Requests
26%
63%
Django
18%
29%
Asyncio
16%
4%
Streamlit
12%
43%
Django REST Framework
您可以在 2023 Django 开发者调查中找到关于 Django 概况的更多信息,该调查是与 Django Software Foundation 合作开展的。
2021 年 | 2022 年 | 2023 年 | |
---|---|---|---|
31% | 32% | 33% | AWS |
19% | 22% | 25% | Google Cloud Platform |
14% | 16% | 20% | Microsoft Azure |
7% | 9% | 11% | PythonAnywhere |
10% | 11% | 10% | DigitalOcean |
14% | 13% | 7% | Heroku |
– | – | 4% | Alibaba |
3% | 4% | 3% | Linode |
– | – | 3% | Oracle Cloud |
– | – | 3% | Hetzner |
3% | 4% | 2% | OpenStack |
2% | 3% | 2% | OpenShift |
– | – | 2% | Tencent |
1% | 2% | <1% | Rackspace |
6% | 6% | 5% | 其他 |
39% | 34% | 33% | 无 |
请注意,列表在 2023 年进行了扩展,添加了新选项。
在容器内
在虚拟机中
无服务器
在平台即服务上
其他
无
的 Python 程序员表示使用 Kubernetes 在容器中运行代码。
Amazon Elastic Kubernetes Service
Google Kubernetes Engine
Azure Kubernetes Service
RedHat OpenShift
其他
的受访 Python 开发者参与数据探索和处理。
Plotly Dash
Streamlit
Panel
Gradio
Voilà
其他
无
25% 的受访者表示他们创建仪表板。Plotly Dash 和 Streamlit 是此类任务的前两大选择。
的 Python 开发者表示训练机器学习模型或从中生成预测。scikit-learn 和 PyTorch 是用于这些任务的前两大解决方案。
TensorBoard
MLflow
Weights & Biases
CometML
NeptuneML
其他
内部解决方案
无
Google 于 2024 年 1 月 1 日弃用 TensorBoard.dev(一键发布 TensorBoard 数据的服务)。我们可以预计其他选项在 2024 年变得更受欢迎。
内部解决方案
Dalta Lake
DVC
Pachyderm
其他
无
的受访开发者参与机器学习部署和推断工作。
PySpark
PyFlink
Great Expectations
PyDeequ
其他
无
云
自托管
两者
无
Linux
Windows
macOS
BSD
其他
使用 Linux 作为开发环境的开发者比例逐年下降:与 2021 年相比,下降了 8 个百分点。
2021 年 | 2022 年 | 2024 年 | |
---|---|---|---|
34% | 35% | 34% | SQLAlchemy |
29% | 28% | 25% | Django ORM |
16% | 16% | 13% | Raw SQL |
– | – | 7% | SQLModel |
5% | 8% | 3% | SQLObject |
3% | 3% | 2% | Peewee |
2% | 3% | 2% | Tortoise ORM |
1% | 2% | 1% | Dejavu |
1% | 3% | 1% | PonyORM |
4% | 4% | 3% | 其他 |
36% | 34% | 41% | 我不参与数据库开发 |
不进行任何数据库开发的人员比例比去年增加了 7 个百分点。
43%
9%
我不参与数据库开发
36%
54%
SQLAlchemy
15%
57%
Django ORM
13%
15%
Raw SQL
2021 年 | 2022 年 | 2023 年 | |
---|---|---|---|
43% | 42% | 43% | PostgreSQL |
38% | 36% | 34% | SQLite |
37% | 37% | 30% | MySQL |
20% | 19% | 17% | MongoDB |
18% | 16% | 17% | Redis |
10% | 12% | 10% | MS SQL Server |
– | – | 10% | MariaDB |
6% | 7% | 6% | Oracle Database |
– | – | 5% | DynamoDB |
3% | 4% | 4% | Amazon Redshift |
– | – | 4% | BigQuery |
2% | 3% | 2% | Cassandra |
2% | 3% | 2% | Neo4j |
– | – | 2% | ClickHouse |
– | – | 2% | Firebase Realtime Database |
1% | 2% | 1% | HBase |
1% | 2% | 1% | DB2 |
1% | 2% | 1% | h2 |
– | – | 1% | Apache Pinot |
– | – | 1% | Apache Druid |
1% | 2% | 0% | Couchbase |
6% | 6% | 4% | 其他 |
19% | 18% | 20% | 无 |
请注意,列表在 2023 年进行了扩展,添加了新选项。
PostgreSQL 连续三年成为 Python 用户中最受欢迎的数据库。
为了确定最受欢迎的编辑器和 IDE,我们提出了一个单选问题“您为当前的 Python 开发使用的主要编辑器是什么?”。
68% 的 PyCharm 用户选择 PyCharm Professional Edition。
44%
46%
Visual Studio Code
27%
37%
PyCharm
7%
0%
Jupyter Notebook
只有 6% 的 VS Code 用户使用 VS Code Data Wrangler。同时,51% 的用户使用 VS Code 提供的 Jupyter 支持。
IntelliJ IDEA 和 PyCharm 中的 Jupyter 支持分别被 34% 和 47% 的用户使用。
1
2
3
4+
根据我们的数据,40% 的受访者使用 3 个或更多 IDE/编辑器进行 Python 开发,与同时使用 2 个 IDE/编辑器的比例非常接近。
2021 年 | 2022 年 | 2023 年 | |
---|---|---|---|
44% | 43% | 55% | venv |
42% | 37% | 28% | virtualenv |
21% | 21% | 20% | Conda |
14% | 16% | 18% | Poetry |
16% | 14% | 9% | Pipenv |
7% | 6% | 4% | virtualenvwrapper |
1% | 3% | 3% | Hatch |
4% | 3% | 4% | 其他 |
15% | 15% | 11% | 我不使用任何工具隔离 Python 环境 |
80%
90%
PyPI
30%
25%
GitHub
27%
6%
Anaconda
14%
10%
本地源
13%
2%
其他 Conda 渠道
的受访者表示已经将自己开发的 Python 应用程序打包并发布到软件包仓库。
Twine
Poetry
Flit
Hatch
PDM
其他
是
不支持
其他
我不使用容器进行 Python 开发
的受访者使用 C、C++、Rust 或 Go 等其他语言为 Python 构建二进制模块。
此问题为选答题。
所有不足 1% 的国家/地区都已合并到“其他”。
想进一步挖掘数据吗?下载匿名调查回复,看看您能学到什么!在 X(以前称为 Twitter) 上使用话题标签 #pythondevsurvey 提及 @jetbrains 和 @ThePSF,分享您的发现和见解。
我们再次代表 Python Software Foundation 和 JetBrains 感谢参与本次调查的所有人。在你们的帮助下,我们得以更准确地描绘 Python 社区的概况!
为 PSF 的经常性捐款活动做出贡献。PSF 是一个完全由赞助商、会员和公众支持的非营利组织。
我们希望您觉得我们的报告很有用。与您的朋友和同事分享这份报告。
如果您对本次调查有任何疑问或对未来的调查有任何建议,请发送电子邮件至 surveys@jetbrains.com 或 psf@python.org 与我们联系。