매년 실시되는 이 공식 Python 개발자 설문조사는 이번으로 여섯 번째를 맞았으며 Python Software Foundation과 JetBrains가 공동으로 실시합니다. 응답은 2022년 10월부터 12월까지 수집되었으며, 거의 200개 국가 및 지역에서 23,000명 이상의 Python 개발자와 팬들이 참여하여 Python의 현재 상태와 에코시스템에 대한 정보를 제공했습니다.
기본
보조
37%
40%
JavaScript
36%
38%
HTML/CSS
34%
33%
SQL
31%
33%
Bash/Shell
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/Shell
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/Shell
33%
60%
HTML/CSS
32%
19%
C/C++
웹 개발자란 “Python을 주로 어떤 용도로 사용하시나요?”라는 질문에 '웹 개발'을 선택한 사람들을 말합니다. 데이터 과학자는 같은 질문에서 '데이터 분석' 또는 '머신러닝'을 선택한 사람들을 말합니다.
당연하게도 JavaScript와 HTML/CSS는 웹 개발자에게 가장 인기 있는 언어인 반면, 데이터 과학자들은 SQL을 가장 많이 사용합니다.
이 섹션에서는 사람들이 Python을 사용하는 용도, 작업 중인 개발 유형, 언어 사용을 다양하게 결합하는 방법을 알아보기 위해 질문했습니다.
업무 및 개인용으로 모두
개인, 교육 또는 보조 프로젝트용으로
업무용으로
응답자 5명 중 1명은 업무 관련 프로젝트에만 Python을 사용한다고 응답했으며, 응답자 중 절반 이상은 개인 프로젝트에도 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을 사용합니다.
Python이 보조 언어로 사용될 경우 데이터 분석(16%), DevOps(14%)에 가장 자주 사용되며, 웹 개발은 3번째로 많이 사용되었습니다(13%).
데이터 분석 및 머신러닝 작업을 하는 응답자만 이 질문에 답변했습니다.
데이터 분석 및 머신러닝에 관여하는 Python 개발자의 약 1/3은 스스로를 데이터 과학자라고 생각합니다.
2022
2021년
2020년
2019년
2018년
2017년
응답자의 90% 이상이 이미 Python 3을 사용하고 있으므로,
해당 버전이 이미 주요 버전으로 자리 잡았다고 볼 수 있습니다.
지난 3년 동안 Python 2 사용자 수는 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 버전을 업데이트하지 않는다고 응답한 사용자 비율. 한편, 응답자 중 6%는 다른 사람이 업데이트를 관리한다고 보고했습니다.
Windows를 사용하는 응답자 중 python.org를 통해 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 개발자 설문조사에서 확인할 수 있습니다.
2021년의 결과와 비교할 때 상위 3개 프레임워크는 변경되지 않았으나, Requests의 점유율 중 4%가 httpx로 이전되었습니다.
일반적으로 규모가 큰 회사는 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# 사용자는 Microsoft Azure를 AWS만큼 많이 사용합니다.Go 및 TypeScript 개발자 중 80% 이상은 클라우드 플랫폼을 사용하여, 가장 적극적인 클라우드 플랫폼 사용자 그룹으로 확인됩니다.
47%
48%
컨테이너 내에서
41%
41%
가상머신에서
27%
27%
Platform-as-a-Service(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의 인기는 거의 동일하나 Linux 사용 비율은 4% 감소했습니다.
GitHub Actions의 인기는 계속 증가하여, 현재 Python 개발자 중 1/3 이상이 사용하고 있습니다.
CI 도구의 전반적 채택도 2021년에 비해 4% 증가했습니다.
지속적 관리 도구를 사용하는 응답자의 비율. Ansible이 가장 많이 사용되며, 11%는 맞춤형 솔루션을 사용합니다.
Sphinx
MKDocs
Doxygen
기타
문서 도구를 사용하지 않음
Python 개발자 중 39%는 문서 도구를 사용하며, 가장 많이 사용되는 도구는 작년과 동일하게 Sphinx였습니다.
에디터에서 자동 완성 사용
프로젝트에 Python 가상 환경 사용
코드 리팩터링
버전 관리 시스템 사용
코드 린트 사용
코드에 대한 테스트 작성
SQL 데이터베이스 사용
디버거 사용
선택적 타입 힌트 사용
원격 시스템에서 코드 실행/디버그 또는 편집
지속적 통합 도구 사용
이슈 트래커 사용
코드 커버리지 사용
Python 프로파일러 사용
NoSQL 데이터베이스 사용
PyCharm과 VS Code는 Python 개발 시 가장 많이 사용되는 IDE로, 응답자 중 2/3가 이 두 가지 도구를 사용합니다.
응답자중 14%만이 하나의 IDE 또는 에디터만 사용하며, 대다수(61%)는 2~3개의 IDE 또는 에디터를 함께 사용합니다. Python 개발자 중 26%는 PyCharm을 추가 IDE로 선택한 반면, 1/4은 VS Code를 선택했습니다.
가장 인기 있는 에디터와 IDE를 파악하기 위해 "현재 Python 개발에 사용하는 기본 에디터는 무엇인가요?"라는 1개의 답변만 할 수 있는 질문을 하였습니다.
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개는 1년 전과 동일하지만, 모두 서서히 인기가 감소하고 있습니다. 반면, 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은 7% 증가해 현재 Python 개발자의 1/3이 사용합니다.
pyproject.toml의 경우 동일한 기능을 보장하기 위해 상당히 노력한 결과, pip에서 바로 지원됩니다.
Python 개발자 중 애플리케이션 종속성 버전 관리 도구를 사용하는 비율. Poetry, pipenv 및 pip-tools는 이 목적으로 사용되는 주요 도구이며, 거의 같은 비율로 개발자에게 사용됩니다.
애플리케이션 종속성 버전을 여전히 수동으로 업데이트하는 Python 개발자의 비율. 1년 전보다 5% 감소했습니다.
poetry
pipenv
pip-tools
기타
없음
이 질문에는 애플리케이션 종속 요소의 정확한 버전 관리를 위해 도구를 사용하는 응답자만 답했습니다.
PyPI 사용 비율은 7% 감소한 반면 다른 모든 패키지 설치 수단의 사용 비율은 2021년과 거의 동일하게 유지되었습니다.
Python을 사용해 애플리케이션을 개발하는 Python 사용자 비율. 이 목적으로 가장 많이 사용되는 도구는 Setuptools, Wheel, 빌드 및 Poetry입니다.
이 질문에는 애플리케이션을 개발하는 응답자만 답했습니다.
Python 사용자의 절반 이상이 애플리케이션을 개발하지만 이 중 41%만이 애플리케이션을 패키지 저장소에 게시했습니다.
PyPI
프라이빗 Python Package Index
PyPI의 내부 미러
conda-forge
기타
이 질문에는 Python 애플리케이션 패키지를 게시한 경험이 있는 응답자만 답했습니다.
Python 라이브러리를 개발하고 패키징한 경험이 있는 응답자 비율. 이 목적에 가장 인기 있는 솔루션은 전반적으로 Python 애플리케이션 개발과 동일합니다.
Python 라이브러리를 개발한 경험이 있는 응답자 중, 주로 PyPI 또는 프라이빗 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 라이브러리를 게시한 경험이 있는 응답자만 답했습니다.
흥미롭게도 PyPI 사용 비율은 작년보다 9% 감소한 반면 PyPI 내부 미러의 사용 비율은 5% 증가했습니다.
혼자서 자신만의 프로젝트 진행
팀으로 작업
외부 컨설턴트 또는 트레이너로 일함
하나의 메인 프로젝트와 여러 개의 부수적 프로젝트를 진행
다수의 다양한 프로젝트를 진행
하나의 프로젝트만 진행
이 질문에는 회사에 고용된 응답자만 답했습니다.
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% 미만의 국가/지역은 모두 '기타'로 합쳐졌습니다.
데이터를 더 상세하게 파헤쳐보고 싶으신가요? 익명 처리된 설문조사 응답을 다운로드하여 몰랐던 사실을 알아보세요! X에서 #pythondevsurvey 해시태그와 함께 @jetbrains 및 @ThePSF를 멘션하여 새로운 사실과 인사이트를 공유하세요.
다음에 해당되는 경우:
다음 중 적어도 두 가지에 해당한 경우:
Python Software Foundation과 JetBrains를 대표하여 이 설문조사에 참여해 주신 모든 분들께 다시 한 번 감사드립니다. 여러분의 도움이 있어 Python 커뮤니티의 현황을 더 정확하게 포착할 수 있었습니다!
PSF의 정기 기부 캠페인에 동참하세요. PSF는 후원자, 회원 및 일반 대중의 지원으로만 운영되는 비영리 조직입니다.
보고서가 여러분에게 유익한 도움이 되었기를 바랍니다.이 보고서를 친구 및 동료와 공유해 보세요!