主要
辅助
所有占比低于 2% 的选项均已合并到“其他”。
45%
46%
SQL
34%
64%
JavaScript
32%
54%
HTML/CSS
31%
35%
Bash/Shell
29%
16%
C/C++
19%
13%
Java
14%
29%
TypeScript
11%
2%
R
10%
8%
C#
Web 开发是指回答“您最常使用 Python 做什么?”这一问题时选择 Web 开发 的人群。
数据科学是指同一问题下选择数据分析或机器学习的人群。
40%
43%
JavaScript
37%
35%
HTML/CSS
37%
30%
SQL
32%
25%
Bash/Shell
26%
37%
C/C++
17%
28%
Java
15%
24%
TypeScript
9%
18%
C#
8%
12%
Go
的受访 Python 开发者进行协作开发,比去年下降了 7 个百分点。
这种下降可能是由于远程工作疲劳,开发者更喜欢个人工作流,或者是回到办公室环境中,协作动态有所变化。
不足 1 年
1-2 年
3-5 年
6-10 年
11 年以上
不足 1 年
1-2 年
3-5 年
6-10 年
11 年以上
每五位受访者中就有一位使用 Python 编程不满一年,而全球超过三分之二的计算机科学学习者报告在过去一年中使用 Python 进行学习和工作。
查看我们的 2024 计算机科学学习曲线调查报告,探索当前趋势 – 从学习形式和工具,到动机、职业目标和常见挑战。
的 Python 爱好者报告去年为开源项目做出了贡献。
55%
58%
文档和 API
45%
51%
YouTube
44%
41%
Python.org
42%
43%
Stack Overflow
41%
38%
博客
28%
22%
书籍
19%
27%
AI 工具
14%
13%
在线编码学校和 MOOC
AI 作为学习 Python 的新工具和技术的方法,正日益受到欢迎。从 2023 年至 2024 年,报告使用 AI 学习新工具和技术的学习者比例从 19% 上升到了 27%。
我们在这一部分提出了一些问题,试图了解人们使用 Python 的目的、参与的开发类型,及其结合多种用途的方式。
用于工作和个人
用于个人、教育或编外项目
用于工作
0%
60%
49%
42%
数据分析
48%
34%
Web 开发
42%
33%
机器学习
33%
22%
数据工程
28%
23%
网页抓取与解析
28%
23%
学术研究
26%
25%
DevOps/系统管理
21%
23%
Web 开发
10%
13%
机器学习
10%
10%
数据分析
9%
8%
学术研究
9%
8%
教育目的
7%
6%
DevOps/系统管理/编写自动化脚本
6%
7%
数据工程
在此问题中,我们要求受访者选择仅一项主要活动。
Web 开发
数据分析
机器学习
数据工程
学术研究
DevOps/系统管理/编写自动化脚本
教育目的
软件测试/编写自动化测试
软件原型设计
设计/数据可视化
Web 解析器/采集器/抓取工具编程
桌面开发
网络编程
的受访 Python 开发者继续使用 Python 2。
百分比在每列内计算。
2021 年 | 2022 年 | 2023 年 | 2024 年 | |
---|---|---|---|---|
21% | 25% | 29% | 38% | FastAPI |
40% | 39% | 33% | 35% | Django |
41% | 39% | 33% | 34% | Flask |
– | – | 30% | 33% | Requests |
– | – | 20% | 23% | Asyncio |
– | – | 18% | 20% | Django REST Framework |
– | – | 12% | 15% | httpx |
– | – | 12% | 13% | aiohttp |
– | – | 8% | 12% | Streamlit |
– | – | 6% | 8% | Starlette |
3% | 4% | 3% | 3% | web2py |
4% | 4% | 3% | 2% | Tornado |
3% | 3% | 3% | 2% | Bottle |
3% | 4% | 3% | 2% | CherryPy |
3% | 3% | 3% | 2% | Pyramid |
2% | 2% | 2% | 1% | Falcon |
1% | 2% | 1% | 1% | Hug |
– | – | 2% | 1% | Quart |
– | – | 2% | 1% | Twisted |
5% | 5% | 5% | 7% | 其他 |
29% | 27% | 23% | 19% | 无 |
所有占比低于 2% 的选项均已合并到“其他”。
41%
56%
FastAPI
37%
39%
Flask
33%
42%
Requests
28%
61%
Django
22%
33%
Asyncio
22%
7%
Streamlit
13%
44%
Django REST Framework
百分比在每列内计算。
Asyncio | Django | Django REST Framework | FastAPI | Requests | Starlette | Streamlit | aiohttp | httpx | |
---|---|---|---|---|---|---|---|---|---|
– | 26% | 33% | 42% | 45% | 69% | 37% | 81% | 56% | Asyncio |
38% | – | 93% | 42% | 41% | 37% | 38% | 39% | 38% | Django |
27% | 53% | – | 29% | 28% | 27% | 23% | 28% | 26% | Django REST Framework |
68% | 45% | 55% | – | 55% | 92% | 65% | 67% | 69% | FastAPI |
43% | 47% | 47% | 45% | 47% | 35% | 51% | 42% | 36% | Flask |
62% | 39% | 47% | 48% | – | 67% | 54% | 64% | 56% | Requests |
23% | 8% | 11% | 19% | 16% | – | 15% | 24% | 27% | Starlette |
19% | 13% | 14% | 21% | 19% | 22% | – | 17% | 17% | Streamlit |
45% | 15% | 19% | 23% | 25% | 41% | 19% | – | 35% | aiohttp |
35% | 16% | 20% | 27% | 25% | 52% | 21% | 40% | – | httpx |
21% | 18% | 18% | 18% | 20% | 22% | 20% | 24% | 27% | 其他 |
您可以在 2023 Django 开发者调查中找到关于 Django 概况的更多信息,该调查是与 Django Software Foundation 合作开展的。
31%
34%
BeautifulSoup
28%
32%
Pillow
22%
30%
Pydantic
22%
26%
OpenCV-Python
17%
21%
Tkinter
12%
13%
PyQT
11%
12%
Scrapy
10%
11%
Pygame
pytest
unittest
mock
doctest
tox
Hypothesis
nose
其他
无
请注意,列表在 2023 年进行了扩展,添加了新选项。
0%
45%
所有占比低于 2% 的选项均已合并到“其他”。
在容器内
在虚拟机中
无服务器
在平台即服务上
其他
无
的受访开发者使用 Kubernetes 在容器中运行代码。
Amazon Elastic Kubernetes Service
Google Kubernetes Engine
Azure Kubernetes Service
RedHat OpenShift
其他
49%
51%
使用 virtualenv
38%
44%
在 Docker 容器中
23%
23%
在虚拟机中
20%
19%
使用本地系统解释器
16%
16%
在远程开发环境中
14%
15%
使用 WSL
10%
9%
直接在生产环境中
2%
2%
其他
的所有受访 Python 开发者参与数据探索和处理,主要使用 pandas 和 NumPy。
所有占比低于 2% 的选项均已合并到“其他”。
内部解决方案
Delta lake
DVC
Pachyderm
其他
无
的受访 Python 爱好者表示,他们从事仪表板创建工作,首选工具是 Streamlit 和 Plotly Dash。
Streamlit
Plotly Dash
TensorBoard
Gradio
Panel
Voila
其他
无
PowerBI
我不确定
Tableau
Looker
Metabase
QlikView
其他
无
所有占比低于 2% 的选项均已合并到“其他”。
的受访者训练机器学习模型或使用机器学习模型进行预测,比去年增加了 6 个百分点。其中,超过三分之二使用 scikit-learn 和 PyTorch。
67%
68%
SciKit-Learn
60%
66%
PyTorch
48%
49%
TensorFlow
44%
42%
SciPy
30%
30%
Keras
22%
28%
Hugging Face Transformers
22%
23%
XGBoost
所有占比低于 2% 的选项均已合并到“其他”。
百分比在每列内计算。
Hugging Face Diffusers | Hugging Face Transformers | Keras | NLTK | PyTorch | PyTorch Lightning | SciKit-Learn | SciPy | TensorFlow | XGBoost | spaCy | |
---|---|---|---|---|---|---|---|---|---|---|---|
– | 38% | 18% | 22% | 16% | 25% | 14% | 16% | 17% | 17% | 25% | Hugging Face Diffusers |
90% | – | 38% | 53% | 37% | 46% | 33% | 34% | 34% | 42% | 62% | Hugging Face Transformers |
47% | 40% | – | 50% | 36% | 37% | 41% | 42% | 52% | 50% | 46% | Keras |
36% | 36% | 33% | – | 24% | 28% | 27% | 29% | 27% | 35% | 59% | NLTK |
88% | 86% | 78% | 80% | – | 94% | 72% | 77% | 76% | 75% | 82% | PyTorch |
31% | 24% | 18% | 21% | 21% | – | 18% | 21% | 16% | 21% | 25% | PyTorch Lightning |
74% | 78% | 89% | 90% | 73% | 79% | – | 91% | 80% | 94% | 88% | SciKit-Learn |
57% | 50% | 59% | 62% | 49% | 61% | 58% | – | 52% | 62% | 68% | SciPy |
69% | 59% | 85% | 68% | 57% | 55% | 59% | 61% | – | 63% | 63% | TensorFlow |
33% | 34% | 38% | 42% | 26% | 34% | 34% | 34% | 30% | – | 43% | XGBoost |
30% | 31% | 22% | 43% | 18% | 24% | 19% | 23% | 18% | 26% | – | spaCy |
TensorBoard
MLFlow
Weights & Biases
内部解决方案
NeptuneML
CometML
其他
无
TensorBoard.dev 已被弃用,但 TensorBoard 仍然是实验跟踪的首选。在主流机器学习框架内的深度集成、丰富的可视化以及灵活的本地设置,其在开发者和研究人员中被广泛使用。
的受访 Python 开发者从事机器学习部署和推断工作。有趣的是,这项任务中最受欢迎的工具是内部解决方案。
它们很重要,但我在性能和功能之间做出了权衡
它们是首要因素;我总是力求将成本降至最低
相对于易用性和集成等其他因素而言,它们是次要的
成本不是主要考虑因素
不到 1,000 美元
1,000-5,000 美元
5,000-10,000 美元
10,000-25,000 美元
超过 25,000 美元
我不确定
的受访者从事大数据工作,其中大多数偏好使用云解决方案。在大数据工具中,PySpark 最受欢迎,被 40% 的受访者使用。
36%
40%
PySpark
8%
7%
Great Expectations
6%
6%
PyFlink
3%
4%
PyDeequ
5%
4%
其他
50%
49%
无
云
自托管
两者
无
Linux
Windows
macOS
BSD
其他
41%
59%
SQLAlchemy
15%
56%
Django ORM
12%
14%
Raw SQL
10%
14%
SQLModel
所有占比低于 2% 的选项均已合并到“其他”。
与去年相比,参与数据库开发的数据科学家的比例增加了 4 个百分点。
这种变化是否是由于在 LLM 应用中越来越多地使用向量数据库?
34%
39%
SQLAlchemy
25%
26%
Django ORM
13%
12%
Raw SQL
7%
10%
SQLModel
43%
49%
PostgreSQL
34%
37%
SQLite
30%
31%
MySQL
17%
18%
Redis
17%
19%
MongoDB
10%
11%
MariaDB
10%
12%
MS SQL Server
所有占比低于 2% 的选项均已合并到“其他”。
所有占比低于 2% 的选项均已合并到“其他”。
三分之二的 Python 开发者经常使用持续集成系统。
GitHub Actions 领衔,其后是 GitLab CI/CD 和 Jenkins/Hudson。
Ansible
自定义解决方案
Puppet
Chef
Salt
其他
无
43%
44%
Markdown
25%
29%
Swagger
16%
15%
Sphinx
14%
15%
Postman
13%
11%
Wiki
我在 IDE 中打开包含该文件的整个项目
我使用命令行编辑器
我在 IDE 中仅打开该文件
我使用轻量级文本编辑器
其他
我通常不需要打开或编辑单个 Python 文件
为了确定最受欢迎的编辑器和 IDE,我们提出了一个单选问题“您为当前的 Python 开发使用的主要编辑器是什么?”。
所有占比低于 1% 的选项均已合并到“其他”。
44%
46%
Visual Studio Code
27%
37%
PyCharm
7%
0%
Jupyter Notebook
2%
0%
Spyder
在 VS Code 用户中,Data Wrangler 扩展程序的使用率为 11%,而 53% 的用户利用 IDE 的 Jupyter 支持。
的受访 Python 开发者在使用主要 IDE 或编辑器的同时还使用其他 IDE 或编辑器,其中 42% 同时使用三款或更多。
所有占比低于 1% 的选项均已合并到“其他”。
1
2
3
>3
55%
62%
venv
28%
25%
virtualenv
20%
19%
Conda
18%
18%
Poetry
9%
8%
Pipenv
–
11%
uv
77%
74%
pip
19%
20%
Poetry
19%
18%
Conda
–
12%
uv
9%
8%
Pipenv
9%
9%
pip-tools
63%
59%
requirements.txt
32%
36%
pyproject.toml
17%
16%
setup.py
11%
12%
我不存储依赖项信息
80%
75%
PyPI
28%
29%
GitHub
16%
16%
Anaconda
14%
14%
本地源
10%
10%
私有 Python Package Index
10%
11%
从 Linux 发行版
10%
11%
PyPI 的内部镜像
73%
83%
PyPI
29%
25%
GitHub
27%
6%
Anaconda
15%
10%
本地源
13%
11%
PyPI 的内部镜像
11%
12%
私有 Python Package Index
10%
2%
其他 Conda 渠道
的受访者表示已经将自己开发的 Python 应用程序打包并发布到软件包仓库。
Twine
PyPI Publish GitHub Action
Poetry
Hatch
Flit
PDM
其他
我从未听说过
我略微知道一些
尝试过,但已不再使用
我目前正在使用
的受访 Python 开发者在使用单仓库,其中多个软件包或服务存储在一个仓库中,每个都具备自己独立管理的依赖项。
是
不支持
其他
我不使用容器进行 Python 开发
的受访者使用 C++、C 和 Rust 等其他语言构建 Python 二进制模块。有趣的是,Rust 相比去年增加了 6 个百分点。
55%
54%
C++
44%
45%
C
27%
33%
Rust
9%
10%
Go
此问题为选答题。
所有占比低于 1% 的选项均已合并到“其他”。
所有占比低于 1% 的选项均已合并到“其他”。
想进一步挖掘数据吗?下载匿名调查回复,看看您能学到什么!在 X(以前称为 Twitter) 上使用话题标签 #pythondevsurvey 提及 @jetbrains 和 @ThePSF,分享您的发现和见解。
我们再次代表 Python Software Foundation 和 JetBrains 感谢参与本次调查的所有人。在你们的帮助下,我们得以更准确地描绘 Python 社区的概况!
为 PSF 的经常性捐款活动做出贡献。PSF 是一个完全由赞助商、会员和公众支持的非营利组织。
我们希望您觉得我们的报告很有用。与您的朋友和同事分享这份报告!