これは、Python Software Foundation と JetBrains が共同で実施した第 6 回目の公式年次 Python 開発者アンケートです。 2022 年 10 月から 12 月にかけて約 200 の国と地域の 23,000 人を超える Python 開発者から回答をいただき、言語とそれを取り巻くエコシステムの現状を明らかにすることができました。
主要
第二
37%
40%
JavaScript
36%
38%
HTML/CSS
34%
33%
SQL
31%
33%
Bash / シェル
29%
30%
C/C++
19%
20%
Java
11%
10%
TypeScript
11%
11%
C#
9%
9%
PHP
8%
9%
Go
7%
6%
Rust
6%
5%
R
4%
4%
Visual Basic
3%
3%
Kotlin
Python 開発者の 86% は Python の他に別の言語を使用しており、その中でも JavaScript、HTML/CSS、および SQL が最も一般的です。
37%
38%
JavaScript
37%
32%
HTML/CSS
35%
28%
SQL
32%
22%
Bash / シェル
27%
37%
C/C++
18%
28%
Java
10%
17%
TypeScript
10%
18%
C#
9%
14%
PHP
8%
11%
Go
6%
5%
R
6%
9%
Rust
4%
5%
Visual Basic
3%
6%
Kotlin
45%
50%
SQL
34%
66%
JavaScript
34%
41%
Bash / シェル
33%
60%
HTML/CSS
32%
19%
C/C++
ウェブ開発の数値は、質問「Python を主に何に使用していますか?」で「ウェブ開発」を選択した回答者の数を表しています。 データサイエンスの数値は、同じ質問に対して「データ解析」または「機械学習」を選択した回答者の数を表しています。
当然ながら、ウェブ開発者の間では JavaScript と HTML/CSS が、データサイエンティストの間では SQL が最も人気のある言語です。
このセクションではユーザーが Python を使用する目的、従事している開発の種類、さまざまな用途の組み合わせを確認するための質問をしました。
仕事と個人の両方
個人の教育または副業プロジェクト
仕事
5 人に 1 人の回答者が仕事関連のプロジェクトでのみ Python を使用しているのに対し、半数強が個人プロジェクトでも使用しています。
51%
51%
データ解析
43%
45%
ウェブ開発
36%
36%
機械学習
34%
36%
DevOps / システム管理 / 自動化スクリプトの作成
30%
31%
ウェブパーサー / スクレーパー / クローラーのプログラミング
53%
44%
データ解析
45%
31%
ウェブ開発
37%
29%
機械学習
35%
34%
DevOps / システム管理 / 自動化スクリプトの作成
30%
28%
ウェブパーサー / スクレーパー / クローラーのプログラミング
データ解析
ウェブ開発
機械学習
DevOps / システム管理 / 自動化スクリプトの作成
ウェブパーサー / スクレーパー / クローラーのプログラミング
教育目的
ソフトウェアのテスト / 自動テストの作成
ソフトウェアプロトタイピング
デスクトップ開発
ネットワークプログラミング
コンピューターグラフィックス
ゲーム開発
組み込み開発
モバイル開発
マルチメディアアプリケーション開発
その他
22%
23%
ウェブ開発
18%
17%
データ解析
12%
11%
機械学習
10%
10%
DevOps / システム管理 / 自動化スクリプトの作成
9%
9%
教育目的
Python を主要言語としている人は、主にウェブ開発に使用しています(23%)。
Python が第二言語として最も多く使用されているのはデータ解析(16%)と DevOps(14%)であり、ウェブ開発は 3 位(13%)となっています。
この質問は、データ解析と機械学習に従事している方にのみご回答いただきました。
データ解析と機械学習に従事する Python 開発者の約 3 分の 1 が、自身をデータサイエンティストだと考えています。
2022
2021
2020
2019
2018
2017
回答者の 90% 以上はすでに Python 3 での実装を行ったことがあるため、
メインストリームでの採用を達成したと言えます。
Python 2 ユーザーの数は過去 3 年とほぼ同じ 7% 未満のままです。 とはいえ、一部のユーザーはデータ解析(29%)、コンピューターグラフィックス(24%)、および DevOps(23%)にバージョン 2 を依然として使用しています。
54%
29%
データ解析
46%
19%
ウェブ開発
38%
13%
機械学習
36%
23%
DevOps / システム管理 / 自動化スクリプトの作成
32%
13%
ウェブパーサー / スクレーパー / クローラーのプログラミング
45%
16%
Python 3.10
23%
35%
Python 3.9
17%
27%
Python 3.8
9%
13%
Python 3.7
4%
7%
Python 3.6
このアンケートは 2022 年 10 月 14 日~11 月 14 日に実施され、Python 3.11 は 2022 年 10 月 24 日にリリースされたばかりだったことに注意してください。
Python のバージョンを更新しないと回答した Python 開発者の割合。6% は自分以外の人物が更新を管理していると回答しました。
python.org 経由で Windows にインストールした Python を使用していると述べた回答者の割合。macOS と Linux のユーザーにとって最も一般的なオプションは、OS が提供する Python、Python.org、Docker コンテナー、および pyenv でした。
注意: Enthought のシェアは 0.5% 未満であったため、「その他」に含まれています。
Poetry は徐々に人気を得ている Python 環境分離ツールです。 2020 年以来、6 パーセントポイント増加しています。 このツールの機能はすでに Python のコアに取り込まれていることを考慮すると、期待の大きいツールのようです。
Python ウェブフレームワークの使用については、Flask、Django、FastAPI の三つ巴の戦いが続いています。
他のすべてのフレームワークを合わせても 3 位に届きません。FastAPI は昨年から 4 パーセントポイント増加し、現在では Python 開発者 4 人に 1 人が使用しています。
Django の展望については、Django Software Foundation と共同で実施した「2022 年 Django 開発者アンケート」をご覧ください。
上位 3 つのフレームワークは 2021 年から変化していませんが、Requests が httpx に 4 パーセントポイントを譲っています。
一般的に、規模の大きな企業ほど小さな企業よりも Python プロジェクトにユニットテストを使用する傾向が高く、pytest や mock をより広く採用しています。
SQLAlchemy
Django ORM
Raw SQL
SQLObject
Peewee
Tortoise ORM
PonyORM
Dejavu
その他
データベース開発はしていない
MS SQL Server と Oracle データベースがデータサイエンティストの間でウェブ開発者の 2 倍の人気を誇っているのに対し、他のほとんどのデータベースはウェブ開発者による採用がはるかに多くなっています。
Python 開発者の 31% がビッグデータツールを使用しており、2021 年から 6 パーセントポイント増加しています。 この数値はデータサイエンティストの間では 42% に達しています。誰が予測できたでしょうか?
クラウドプラットフォームを使用している Python 開発者の割合。昨年より 5 パーセントポイント増加しています。
この質問は、クラウドプラットフォームを利用している方にのみご回答いただきました。
アフリカ地区の Python 開発者の間では Heroku クラウドプラットフォームの人気が最も高く、39% の開発者が使用しています。 他の言語開発者の使用も、プラットフォームの選択に影響を与えています。
当然ながら、C# ユーザーは AWS のほぼ 2 倍の割合で Microsoft Azure を使用しています。 Go と TypeScript の開発者は最も活発なクラウドプラットフォームユーザーであり、80% 以上がクラウドを使用しています。
47%
48%
コンテナー内で実行
41%
41%
仮想マシンで開発
27%
27%
PaaS で実行
27%
24%
サーバーレス
2%
2%
その他
この質問は、クラウドプラットフォームを利用している方にのみご回答いただきました。
53%
56%
virtualenv を使用したローカル開発
41%
40%
Docker コンテナーで開発
20%
21%
仮想マシンで開発
19%
17%
リモート開発環境で開発
18%
18%
ローカルシステムインタープリターを使用
この質問は、クラウドプラットフォームを利用している方にのみご回答いただきました。
virtualenv を使ったローカル開発の人気は引き続き下落しており、2020 年から 7 パーセントポイント減となっています。 ローカル開発は Python でウェブ開発を行う回答者に最も一般的に使用されています。
リモート開発環境の使用率は徐々に増加していますが、2020 年から確実に 3 パーセントポイント増加しています。 リモート開発は機械学習、ネットワークプログラミング、および DevOps で最も一般的に使用されています。
Linux
Windows
macOS
BSD
その他
macOS と Windows の人気がいずれも昨年とほぼ同じであるのに対し、Linus の使用率は 4 パーセントポイント減少しました。
GitHub Actions の人気は高まり続けており、現在では Python 開発者の 3 分の 1 以上が使用しています。
CI ツールの全体的な採用率も、2021 年に比べて 4 パーセントポイント増加しました。
継続的管理ツールを使用している回答者の割合。Ansible に最も人気が集まっているのに対し、11% はカスタムソリューションを好んで使用しています。
Sphinx
MKDocs
Doxygen
その他
ドキュメント作成ツールを使用していない
Python 開発者の 39% はドキュメント作成ツールを使用しており、昨年と変わらず Sphinx が 1 位の座を維持しています。
エディターの自動補完の使用
プロジェクトでの Python 仮想環境の使用
コードのリファクタリング
バージョン管理システムの使用
コードリンティングの使用
コードテストの作成
SQL データベースの使用
デバッガーの使用
オプションの型ヒントの使用
リモートマシンでのコードの実行/デバッグまたは編集
継続的インテグレーションツールの使用
課題トラッカーの使用
コードカバレッジの使用
Python プロファイラーの使用
NoSQL データベースの使用
回答者の 3 分の 2 に選ばれた PyCharm と VS Code は、Python 開発に使用されている上位 2 つの IDE です。
回答者のわずか 14% が単一の IDE またはエディターを使用しており、大半(61%)は 2~3 個の IDE またはエディターを併用しています。 Python 開発者の 26% は PyCharm を補助的な IDE として好んでおり、4 分の 1 が VS Code を選択しています。
最も人気のあるエディターと IDE を特定するため、「現在の Python 開発に使用しているメインのエディターは何ですか?」という単一回答形式の質問を行いました。
40%
44%
VS Code
25%
37%
PyCharm
3%
4%
Vim
2%
2%
Emacs
2%
3%
Sublime Text
ウェブ開発の数値は、質問「Python を主に何に使用していますか?」で「ウェブ開発」を選択した回答者の数を表しています。 データサイエンスの数値は、同じ質問に対して「データ解析」または「機械学習」を選択した回答者の数を表しています。
1
2
3
4
5+
ツールを使用してプロジェクト間の環境を分離している Python 開発者の割合。上位 3 つのソリューションは、venv、virtualenv、および Conda です。
コンテナーで仮想環境を使用している開発者の数は昨年から 5 パーセントポイント増加しています。
76%
81%
pip
29%
32%
venv(標準ライブラリ)
26%
30%
コンテナー(Docker などを経由)
23%
22%
Conda
18%
23%
virtualenv
上位 3 つのツールは昨年から変化していませんが、どれも少しずつ人気が下落しています。 一方、Poetry の使用率は 2 パーセントポイント増加しています。
標準ライブラリモジュールである venv を使用している開発者の数は、2021 年から 5 パーセントポイント増加しています。
69%
76%
requirements.txt
33%
26%
pyproject.toml
25%
22%
poetry.lock
15%
16%
pipfile.lock
11%
11%
Conda environment.yml
requirements.txt にアプリケーション依存関係情報を保存する割合は減少しており、昨年比で 7 パーセントポイント下落しています。
それと同時に pyproject.toml が同じポイントだけ上昇しており、現在では 3 分の 1 の Python 開発者が使用しています。
pyproject.toml は多大な努力が投入されて同等の機能を持つようになり、現在は pip で直接サポートされています。
ツールを使用してアプリケーション依存関係のバージョンを管理している Python 開発者の割合。この目的で主に使用されているツールは Poetry、pipenv、および pip-tools で、開発者の間でほぼ同等の割合で使用されています。
アプリケーション依存関係のバージョンを依然として手動で更新している Python 開発者の割合。昨年から 5 パーセントポイント減少しています。
poetry
pipenv
pip-tools
その他
なし
この質問は、アプリケーション依存関係の厳密なバージョン管理に何らかのツールを使用している方にのみご回答いただきました。
2021 年と比較すると、PyPl の使用率は 7 パーセントポイント減少していますが、他のすべてのパッケージインストール方法はほぼ変化していません。
Python を使ってアプリケーションを開発している Python 開発者の割合。この目的で最も人気の高いツールは、Setuptools、Wheel、build、および Poetry です。
この質問は、アプリケーションを開発している方にのみご回答いただきました。
半数以上の Python ユーザーがアプリケーションを開発していますが、アプリをパッケージリポジトリに公開したことがあるのは 41% に過ぎません。
PyPI
プライベート Python Package Index
PyPI の組織内ミラー
conda-forge
その他
この質問は、Python アプリケーションパッケージを公開した方にのみご回答いただきました。
Python ライブラリの開発とパッケージ化をすでに行った回答者の割合。この目的で最も人気のあるソリューションは概して Python アプリケーション開発のソリューションと同じです。
独自の Python ライブラリを開発してすでに公開している回答者の割合。主に PyPl またはプライベート Python Package Index を使用しています。
この質問は、Python ライブラリを開発している方にのみご回答いただきました。
59%
71%
Setuptools
39%
42%
Wheel
30%
26%
build
24%
20%
Poetry
8%
5%
conda-build
PyPI
プライベート Python Package Index
PyPI の組織内ミラー
conda-forge
その他
この質問は、パッケージ化された Python ライブラリを公開した方にのみご回答いただきました。
興味深いことに、PyPl の使用率は昨年から 9 パーセントポイント減少しており、PiPl の内部ミラーへの人気が 5 パーセントポイント増加しています。
単独で独自のプロジェクトに従事している
チームで作業している
外部コンサルタントまたはトレーナーを務めている
1 つのメインプロジェクトと複数のサイドプロジェクトに従事している
多様なプロジェクトに従事している
1 つのプロジェクトにのみ従事している
この質問は、会社に勤務している方にのみご回答いただきました。
2〜7 人
8~12 人
13〜20 人
21~40 人
40+
この質問は、会社に勤務している方にのみご回答いただきました。
この質問は、会社に勤務している方にのみご回答いただきました。
この質問は、会社に勤務している方にのみご回答いただきました。
この質問は、雇用されている方にのみご回答いただきました。
18〜20
21~29
30~39
40~49
50–59
60種類以上の
1 年未満
1~2 年
3~5 年
6~10 年
11 年以上
1 年未満
1~2 年
3~5 年
6~10 年
11 年以上
1% 未満の国 / 地域はすべて「その他」にまとめられています。
より詳細にデータを分析したいですか? 匿名化されたアンケート回答をダウンロードして調査に役立ててください! 調査結果や分析データを Twitter に投稿してください。投稿の際にはハッシュタグ #pythondevsurvey を付け、@jetbrains と @ThePSF をメンションしてください。
以下のいずれかに該当するもの:
以下の項目に 2 つ以上当てはまるもの:
Python Software Foundation と JetBrains を代表し、このアンケートにご参加いただいた皆様に重ねて御礼申し上げます。 皆さまのご協力により、Python コミュニティの展望をより正確にマッピングすることができます。
PSF の Recurring Giving Campaign にご協力ください。 PSF は、スポンサー、メンバー、および一般の方々から全面的に支援されている非営利団体です。
レポートはお役に立ちましたか? ぜひこのレポートを友人や同僚と共有してください!