これは、Python Software Foundation と JetBrains が共同で実施した第 5 回目の公式年次 Python 開発者アンケートです。 2021 年秋季に実施したアンケートでは、約 200 の国と地域から 23,000 人を超える Python 開発者と愛好者にご協力いただき、言語とその周辺エコシステムの現状を明らかにすることができました。
主要
第二
過去 4 年間において、Python を主要言語として使用する開発者のシェアは 84~85% とほぼ同程度にとどまっています。
40%
41%
JavaScript
38%
38%
HTML/CSS
33%
35%
Bash / シェル
33%
33%
SQL
30%
29%
C/C++
20%
20%
Java
11%
11%
C#
10%
9%
TypeScript
9%
8%
Go
9%
10%
PHP
6%
5%
Rust
5%
6%
R
4%
4%
Visual Basic
3%
3%
Kotlin
JavaScript は、Python と最もよく併用されている言語です。 ただし、Python を第二言語として使用する開発者の場合、C/C++ が JavaScript とほぼ同程度使用されています。 HTML/CSS、Bash/シェル、および SQL も広く普及しており、それぞれが Python 開発者の 3 分の 1 以上によって使用されています。
42%
49%
SQL
37%
45%
Bash / シェル
36%
69%
JavaScript
34%
60%
HTML/CSS
33%
19%
C/C++
ウェブ開発の数値は、質問「Python を主に何に使用していますか?」で「ウェブ開発」を選択した回答者の数を表しています。 データサイエンスの数値は、同じ質問に対して「データ解析」または「機械学習」を選択した回答者の数を表しています。
当然のことながら、ウェブ開発者が Python と最もよく併用している言語は JavaScript(69%)と HTML/CSS(60%)です。一方、データ関連のタスクに従事する開発者の間では、SQL(42%)がより一般的です。 また、データ関連タスク従事者の中で他の言語を使用しない開発者のシェアはウェブ開発者の 3 倍となっています。
このセクションではユーザーが Python を使用する目的、従事している開発の種類、さまざまな用途の組み合わせを確認するための質問をしました。
仕事と個人の両方
個人の教育または副業プロジェクト
仕事
51%
54%
データ解析
45%
48%
ウェブ開発
36%
38%
DevOps / システム管理 / 自動化スクリプトの作成
36%
38%
機械学習
31%
35%
ウェブパーサー / スクレーパー / クローラーのプログラミング
ここ数年、Python のユースケースの分布には特に大きな変化は見られていません。 データ解析、機械学習、ウェブ開発、および DevOps の分野では依然として Python が最も広く使用されています。
52%
46%
データ解析
48%
32%
ウェブ開発
37%
30%
機械学習
35%
37%
DevOps / システム管理 / 自動化スクリプトの作成
32%
28%
ウェブパーサー / スクレーパー / クローラーのプログラミング
ウェブ開発
データ解析
機械学習
ソフトウェアのテスト / 自動テストの作成
ソフトウェアプロトタイピング
DevOps / システム管理 / 自動化スクリプトの作成
教育目的
デスクトップ開発
組み込み開発
ネットワークプログラミング
モバイル開発
マルチメディアアプリケーション開発
コンピューターグラフィックス
ウェブパーサー / スクレーパー / クローラーのプログラミング
ゲーム開発
その他
23%
25%
ウェブ開発
17%
17%
データ解析
11%
13%
機械学習
10%
10%
DevOps / システム管理 / 自動化スクリプトの作成
9%
7%
教育目的
Python を主要言語として使用している開発者の 4 分の 1 は、Python を主にウェブ開発に使用しています。 Python を第二言語にしている人のうち、12% のみがウェブ開発に使用しています。
興味深いことに、Python の主な使用分野をデータ解析と回答した人の割合は、Python を主なプログラミング言語にしている開発者(17%)と第二言語とする開発者(16%)とでほぼ同じでした。
この質問は、データ解析と機械学習に従事している方にのみご回答いただきました。
データ解析と機械学習に従事する Python 開発者のわずか 29% が、自身をデータサイエンティストと思っています。
2021
2020
2019
2018
2017
Python 2 ユーザーのシェアは毎年平均して 5% ずつ減少しており、現在では 100 人中たった 5 人の開発者が使用しています。
コンピューターグラフィックス、ゲーム、およびモバイル開発の分野では、Python 3 よりも Python 2 がよく利用されているのは興味深いところです。
54%
31%
データ解析
48%
24%
ウェブ開発
38%
27%
DevOps / システム管理 / 自動化スクリプトの作成
38%
16%
機械学習
34%
14%
ウェブパーサー / スクレーパー / クローラーのプログラミング
Python 3.5 以下
Python 3.6
Python 3.7
Python 3.8
Python 3.9
Python 3.10
注意: Enthought のシェアは 0.5% 未満であったため、「その他」に含まれています。
半数以上の Windows ユーザーが Python.org から Python を入手しているのに対し、Linux ユーザーはわずか 3 分の 1 です。 当然のことながら、Linux と macOS のユーザーはほとんどの場合、OS が提供するオプションを使用して Python のインストールとアップデートを行っています。 同時に、macOS ユーザーの場合は pyenv と Docker コンテナーで Python を入手する方法も一般的です。
Python 開発者のうち、75% が何らかのツールを用いて Python 環境を分離しています。 興味深いことに、Jupyter Notebook を使用する開発者の間では Conda が最も人気のある分離ツール(50%)ですが、その他の開発者は Virtualenv と Docker を好んでいます。
Flask、Django、および FastAPI は 3 大 Python ウェブフレームワークの地位を依然として維持しています。 最も急速に伸びているのは 2018 年に初期リリースされた FastAPI で、前年比で 9% 伸びています。 同時に、Flask ユーザーのシェアは 2020 年比で 5% 減少しています。
Django フレームワークの展望については、Django Software Foundation と共同で実施した「2021 年 Django 開発者アンケート」をご覧ください。
Python 開発者の 10% が 7 つ以上のデータサイエンスフレームワークとライブラリを併用しているのに対し、約半数が 2 つ未満と回答しています。
その他のフレームワークの大半はデータサイエンティストよりもウェブ開発者に人気があり、Tkinker や PyQT が非常に多く使用されています。
さまざまな Python ユニットテストフレームワークの人気度は昨年とほぼ同程度にとどまっています。
ユニットテストフレームワークを使用する単独開発者がわずか 56% であったのに対し、5,000 人以上の従業員を擁する企業の 75% がユニットテストフレームワークを使用していると回答しました。
全データベースユーザーが最もよく使用している ORM は SQLAlchemy です。
Django ORM は Redis ユーザーの 52% が使用しているのに対し、Python 開発者の場合は概して 3 分の 1 未満が使用しているのは興味深いところです。 また、Amazon Reshift ユーザーの 20% が SQLObject を使用しているのに対し、全体ではわずか約 5% であることも注目すべき点です。
データサイエンティストの 80% がデータベースを使用しているのに対し、ウェブ開発者は 98% が使用しています。
ウェブ開発従事者はデータサイエンス従事者よりも、PostgreSQL を 32%、Redis を 25 %、SQLite を 12 % 多く使用しています。 同時に、データサイエンティストはウェブ開発者よりも 2 倍多く Oracle Database を使用していることが分かりました。
ビッグデータツールの分布は昨年とほぼ同程度にとどまっています。 データサイエンティストは概して他の開発者よりもビッグデータを 13 % 多く使用しており、中でも Apache Spark と Dask の使用割合は他のツールの約 2 倍となっています。
クラウドプラットフォームを使用している Python 開発者の割合。
この質問は、クラウドプラットフォームを利用している方にのみご回答いただきました。
興味深いことに、Visual Basic、C#、C/C++ ユーザーは概して Python 開発者の約半数しか AWS を使用していません。
48%
47%
コンテナー内で実行
41%
43%
仮想マシンで開発
27%
27%
PaaS で実行
24%
25%
サーバーレス
2%
2%
その他
この質問は、クラウドプラットフォームを利用している方にのみご回答いただきました。
仮想マシンの使用ユーザー数は減少し続けています。 2018 年のシェアは 47% で、最も一般的な選択肢でしたが、現在では 41% の Python 開発者しか使用していません。
53%
56%
virtualenv を使用したローカル開発
41%
40%
Docker コンテナーで開発
20%
21%
仮想マシンで開発
19%
17%
リモート開発環境で開発
18%
18%
ローカルシステムインタープリターを使用
この質問は、クラウドプラットフォームを利用している方にのみご回答いただきました。
virtualenv を使用したローカル Python 開発は、ウェブ開発、DevOps、およびソフトウェアプロトタイピングの従事者では非常に一般的です(61~65%)。 ウェブ開発の場合、Docker コンテナーの使用が概ね一般的です(54%)。
仮想マシンは、DevOps、機械学習、およびネットワークプログラミングに従事する開発者に広く使用されています(26~27%)。 興味深いことに、DevOps と機械学習の従事者は、他の全回答者よりも頻繁にリモート開発環境も使用しています。
Linux
Windows
macOS
BSD
その他
Linux と macOS の人気度は 2020 年比でそれぞれ 5% 減少していますが、Windows の使用状況は 10 % 増加しています。
2018 年にリリースされた GitHub Actions の人気は急増しており、現在では CI システムのリストのトップに上がっています。Python 開発者による使用率は 3 分の 1 をわずかに下回っています。
人気が急増している CI システムには Gitlab CI もあり、その使用率は 2018 年から 4 % 増加しています。 同時に、Travis CI の人気は急落しており、2018 年から 13% 減少しています。 Jenkins/Hudson も 3 年間で 8 % 減少しています。
ドキュメントツールを使用している Python プログラマーの割合。 最もよく使用されているツールは Sphinx です。
Sphinx
MKDocs
Doxygen
その他
エディターの自動補完の使用
コードのリファクタリング
バージョン管理システムの使用
プロジェクトでの Python 仮想環境の使用
コードリンティングの使用
コードテストの作成
SQL データベースの使用
オプションの型ヒントの使用
デバッガーの使用
リモートマシンでのコードの実行/デバッグまたは編集
継続的インテグレーションツールの使用
課題トラッカーの使用
コードカバレッジの使用
Python プロファイラーの使用
NoSQL データベースの使用
Python が主要言語の開発者は Python が第二言語の開発者よりも Python プロファイラーとコードカバレッジを 8 % 多く、Python 仮想環境を 10 % 多くプロジェクトに使用しています。
PyCharm Community と Professional エディションの合計シェアは 31 % で、昨年に近い結果となっています。 VC Code は昨年よりも 6 % 増加しています。
興味深いことに、PyCharm と VS Code はウェブ開発者(39%)には同程度に人気がありますが、データサイエンティストは VS Code を 9 % 多くメイン IDE に選んでいます。
最も人気のあるエディターと IDE を特定するため、「現在の Python 開発に使用しているメインのエディターは何ですか?」という単一回答形式の質問を行いました。
36%
39%
VS Code
27%
39%
PyCharm
5%
7%
Vim
2%
1%
Atom
2%
2%
Emacs
ウェブ開発の数値は、質問「Python を主に何に使用していますか?」で「ウェブ開発」を選択した回答者の数を表しています。 データサイエンスの数値は、同じ質問に対して「データ解析」または「機械学習」を選択した回答者の数を表しています。
Python 開発者がメイン IDE を知ったきっかけで最も多かったものは、学習活動、友人/同僚の紹介、または検索エンジンです。
興味深いことに、広告からツールを知った回答者はわずか 1 % でした。
Jupyter Notebook ユーザーの 57% が学校/大学またはオンラインコースで初めてツールを知ったのに対し、全回答者の場合は 25% が同じきっかけでツールを知ったと回答しています。
1
2
3
4
5 個以上
メイン IDE の他に VS Code、Jupyter Notebook、および PyCharm が最もよく使用されており、それぞれが Python 開発者の 20% 以上に使用されています。
毎日
毎週
毎月
あまり使用していない
メイン IDE の他に VS Code、Jupyter Notebook、および PyCharm が最もよく使用されており、それぞれが Python 開発者の 20% 以上に使用されています。
Jupyter Notebook をメイン IDE に使用している開発者は、他の Python 開発者よりも約 4 倍以上頻繁に Spyder を使用しています。
2021 年、Python Software Foundation は、Python プログラミング言語にフルタイムで取り組み、その開発者コミュニティを支援する新しい専任開発者を任命しました。
7 月にはコア開発者の Łukasz Langa が CPython 専任開発者の役職で採用されました。 Langa はバックログの処理、プロジェクト優先度の調査、およびその他の関心分野の調査に取り組んでいます。
好感を持っているが、まだ強い影響を感じない
好感を持っており、すでに強い影響を感じている
気に入らない
聞いたことがない
23% のPython 開発者がすでに専任開発者の役割を認識しており、99% がこの取り組みに好感を持っています。
さらに、専任開発者の役割を認識している開発者の 30% はすでにこの革新的な取り組みの強い影響を感じています。
バグを報告した経験がある Python ユーザーはわずか 19% です。 興味深いことに、課題の報告に最もよく使用されているのは bugs.python.org ではありません。その約 2 倍のプログラマーが別の場所で質問するか、GitHub にプルリクエストを送信することを選んでいます。
バグを報告した経験があるユーザーのうち、課題が解決したのは 73% であり、誰からも返信がなかったのは 7% の回答者だけです。
この質問は、課題を報告したことのある方にのみご回答いただきました。
コンテナを使用している Python 開発者の割合。そのうちの 59% は仮想環境を使用しています。
Python 開発者の 45% がアプリケーション依存関係のバージョンを固定する目的で何らかのツールを使用しています。 バージョン情報の保存には requirements.txt が最もよく使用されており、開発者の 4 分の 3 が使用しています。
この質問は、アプリケーション依存関係の厳密なバージョン管理に何らかのツールを使用している方にのみご回答いただきました。
poetry
pipenv
pip-tools
その他
なし
この質問は、アプリケーション依存関係の厳密なバージョン管理に何らかのツールを使用している方にのみご回答いただきました。
90% の開発者が pip を使用して Python パッケージをインストールしていると回答しています。 最も人気のあるパッケージ入手場所は Python Package Index です。
アプリケーションを開発していると回答した Python 開発者の割合。この目的で人気のあるツールは、開発者の 46% が使用している Setuptools です。
この質問は、アプリケーションを開発している方にのみご回答いただきました。
半数以上の Python ユーザーがアプリケーションを開発していますが、アプリをパッケージリポジトリに公開したことがあるのは 40% に過ぎません。
この質問は、Python ライブラリを開発している方にのみご回答いただきました。
34% の回答者が Python ライブラリを開発しており、最も一般的なパッケージ作成方法は 71% が使用している Setuptools です。
興味深いことに、パッケージリポジトリに公開したことがあると回答したのは Python ライブラリ開発者の 27% に過ぎません。
PyPI
プライベート Python Package Index
PyPI の組織内ミラー
conda-forge
その他
この質問は、パッケージ化された Python ライブラリを公開した方にのみご回答いただきました。
開発したライブラリとアプリケーションのパッケージ公開場所として最も人気があるのは Python Package Index であるのに対し、プライベート PyPI の使用は約半分です。
チームで作業している
単独で独自のプロジェクトに従事している
外部コンサルタントまたはトレーナーを務めている
多様なプロジェクトに従事している
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 は、スポンサー、メンバー、および一般の方々から全面的に支援されている非営利団体です。
2020 年、2019 年、2018 年、および 2017 年の Python 開発者アンケート結果をご覧ください。
JetBrains によるその他の大規模なアンケートレポートをご覧ください。
レポートはお役に立ちましたか? ぜひこのレポートを友人や同僚と共有してください!