2020년, 2019년, 2018년2017년의 Python 개발자 설문조사 결과를 확인해보세요.

일반적 Python 사용 현황

Python을 기본 언어 또는 보조 언어로 사용하는 비율

84%기본
16%보조

지난 4년 동안 Python을 기본 언어로 사용하는 개발자의 비율은 84~85%로 거의 동일한 수준을 유지하고 있습니다.

Python과 함께 사용되는 다른 언어의 사용 현황100%+

2021년
2020년
40%/41%38%/38%33%/35%33%/33%30%/29%20%/20%11%/11%10%/9% 9%/8% 9%/10% 6%/5% 5%/6% 4%/4% 3%/3%JavaScriptHTML/CSSBash/ShellSQLC/C++JavaC#TypeScriptGoPHPRustRVisual BasicKotlin
모든 결과 보기

JavaScript는 Python과 함께 가장 많이 사용되는 언어입니다.그러나 Python을 보조 언어로 사용하는 개발자 사이에서는 C/C++가 JavaScript만큼 인기가 있습니다. HTML/CSS, Bash/Shell 및 SQL도 널리 사용되어 각각 Python 개발자의 1/3 이상이 사용합니다.

웹 및 데이터 과학용 언어100%+

데이터 과학
웹 개발
42%/49%37%/45%36%/69%34%/60%33%/19%20%/16%14%/2%11%/10% 9%/22% 8%/11% 6%/15% 6%/8% 4%/2% 3%/4%18%/15% 9%/3%SQLBash/ShellJavaScriptHTML/CSSC/C++JavaRC#TypeScriptPHPGoRustVisual BasicKotlin기타없음

웹 개발자란 “Python을 주로 어떤 용도로 사용하시나요?”라는 질문에 '웹 개발'을 선택한 사람들을 말합니다. 데이터 과학자는 같은 질문에서 '데이터 분석' 또는 '머신러닝'을 선택한 사람들을 말합니다.

예상대로 웹 개발자가 Python과 함께 가장 많이 사용하는 언어는 JavaScript(69%)와 HTML/CSS(60%)이고 데이터 관련 작업에 관여하는 개발자는 SQL(42%)을 더 자주 사용합니다. 또한 추가 언어를 사용하지 않는 개발자의 비율은 웹 개발자에 비해 데이터 관련 업무에 종사하는 개발자가 3배 이상 높습니다.

Python 사용 목적

이 섹션에서는 사람들이 Python을 사용하는 용도, 작업 중인 개발 유형, 언어 사용을 다양하게 결합하는 방법을 알아보기 위해 질문했습니다.

Python을 주로 어떤 용도로 사용하시나요?

52%업무 및 개인용으로 모두
29%개인, 교육 또는 보조 프로젝트용으로
19%업무용으로

2020년과 2021년 Python 사용 현황100%+

2021년
2020년
51%/54%45%/48%36%/38%36%/38%31%/35%27%/27%26%/28%22%/23%19%/19%18%/19%12%/13%10%/9% 7%/9% 6%/6% 5%/5% 7%/7%데이터 분석웹 개발DevOps/시스템 관리/자동화 스크립트 작성머신러닝웹 파서/스크레이퍼/크롤러 프로그래밍교육 목적소프트웨어 테스트/자동화된 테스트 작성소프트웨어 프로토타이핑데스크톱 개발네트워크 프로그래밍컴퓨터 그래픽게임 개발임베디드 개발모바일 개발멀티미디어 애플리케이션 개발기타

수년 동안 Python 사용 사례의 분포에는 큰 변화가 없습니다.데이터 분석, 머신러닝, 웹 개발 및 DevOps는 여전히 Python이 가장 많이 사용되는 분야입니다.

기본 및 보조 언어로서의 Python 사용 현황100%+

Python이 기본 언어임
Python이 보조 언어임
52%/46%48%/32%37%/30%35%/37%32%/28%27%/25%27%/22%21%/24%19%/17%18%/18%12%/13%11%/10% 7%/9% 6%/5% 5%/5% 7%/6%데이터 분석웹 개발머신러닝DevOps/시스템 관리/자동화 스크립트 작성웹 파서/스크레이퍼/크롤러 프로그래밍교육 목적소프트웨어 테스트/자동화된 테스트 작성소프트웨어 프로토타이핑데스크톱 개발네트워크 프로그래밍컴퓨터 그래픽게임 개발임베디드 개발모바일 개발멀티미디어 애플리케이션 개발기타

다음 활동에 어느 정도로 관여하고 계신가요?

주요 활동
보조 활동
취미
62%23%14%47%38%16%45%32%23%42%49%8%41%43%16%40%48%12%39%28%33%36%34%31%36%30%34%36%43%21%30%40%30%27%35%38%24%36%39%24%39%37%19%17%64%74%12%15%웹 개발데이터 분석머신러닝소프트웨어 테스트/자동화된 테스트 작성소프트웨어 프로토타이핑DevOps/시스템 관리/자동화 스크립트 작성교육 목적데스크톱 개발임베디드 개발네트워크 프로그래밍모바일 개발멀티미디어 애플리케이션 개발컴퓨터 그래픽웹 파서/스크레이퍼/크롤러 프로그래밍게임 개발기타

Python을 주로 어떤 용도로 사용하시나요?100%+

2021년
2020년
23%/25%17%/17%11%/13%10%/10% 9%/7% 5%/4% 4%/4% 4%/4% 3%/3% 3%/3% 2%/1% 1%/1% 1%/1% 1%/1% 1%/0% 6%/5%웹 개발데이터 분석머신러닝DevOps/시스템 관리/자동화 스크립트 작성교육 목적데스크톱 개발웹 파서/스크레이퍼/크롤러 프로그래밍소프트웨어 프로토타이핑네트워크 프로그래밍소프트웨어 테스트/자동화된 테스트 작성게임 개발컴퓨터 그래픽임베디드 개발모바일 개발멀티미디어 애플리케이션 개발기타

Python을 기본 언어로 사용하는 개발자의 4분의 1은 주로 웹 개발에 Python을 사용합니다.Python이 보조 언어인 사람들의 경우 이 비율이 12%에 그칩니다.

흥미롭게도 Python을 기본적으로 데이터 분석에 사용한다는 응답은 이를 기본 프로그래밍 언어(17%)와 보조 프로그래밍 언어(16%)로 삼고 있는 개발자 사이에서 거의 동일한 비율로 보고되었습니다.

본인이 데이터 과학자라고 생각하시나요?

아니요
기타
66%29%5%

데이터 분석 및 머신러닝 작업을 하는 응답자만 이 질문에 답변했습니다.

데이터 분석 및 머신러닝에 관여하는 Python 개발자의 29%만이 스스로를 데이터 과학자라고 생각합니다.

Python 버전

Python 3 대 Python 2

Python 3
Python 2
95%5%94%6%90%10%84%16%75%25%2021년2020년2019년2018년2017년

평균적으로 Python 2 사용자의 비율은 매년 5%씩 감소하며 현재 100명 중 5명의 개발자만 사용합니다.

Python 3에 비해 Python 2가 컴퓨터 그래픽, 게임, 모바일 개발에 더 많이 응용된다는 점은 흥미롭습니다.

Python 버전 사용 사례100%+

Python 3
Python 2
54%/31%48%/24%38%/27%38%/16%34%/14%28%/18%27%/23%23%/12%19%/14%18%/19%11%/24% 9%/17% 8%/7% 5%/12% 4%/7% 7%/5%데이터 분석웹 개발DevOps/시스템 관리/자동화 스크립트 작성머신러닝웹 파서/스크레이퍼/크롤러 프로그래밍소프트웨어 테스트/자동화된 테스트 작성교육 목적소프트웨어 프로토타이핑데스크톱 개발네트워크 프로그래밍컴퓨터 그래픽게임 개발임베디드 개발모바일 개발멀티미디어 애플리케이션 개발기타

Python 3 버전

Python 3.5 미만Python 3.6Python 3.7Python 3.8Python 3.9Python 3.10Python 3.5 미만2%Python 3.67%Python 3.713%Python 3.827%Python 3.935%Python 3.1016%

Python 설치 및 업그레이드100%+

38%28%16%16%15% 6% 5% 3% 1% 1% 1% 3%12%Python.orgOS 제공 Python(apt-get, yum, homebrew 등을 통해)Docker 컨테이너Anacondapyenv소스에서 빌드다른 사람이 Python 업데이트를 대신 관리클라우드 제공업체를 통한 자동 업그레이드ActivePythonIntel Distribution for Pythonpythonz기타업데이트하지 않음

참고: Enthought의 비율은 0.5% 미만으로, 기타에 포함되었습니다.

Windows 사용자의 절반 이상이 Python.org에서 Python을 얻는 반면 Linux 사용자는 1/3만 그렇게 합니다.예상대로 Linux 및 macOS 사용자는 Python을 설치하고 업데이트할 때 OS 제공 옵션을 가장 자주 사용합니다. 동시에 macOS 사용자의 경우 pyenv 및 Docker 컨테이너도 Python을 얻는 꽤 인기 있는 방법입니다.

Python 환경 격리100%+

50%31%20%16%11% 5% 4%25%VirtualenvDockerCondaPipenvPoetryVagrant / virtual machines기타없음

Python 개발자 중 75%는 일부 도구를 사용하여 Python 환경을 분리합니다.흥미롭게도 Conda는 Jupyter Notebook을 사용하는 개발자(50%) 사이에서 가장 인기 있는 도구이며 Virtualenv 및 Docker를 선호하는 개발자들도 있습니다.

프레임워크 및 라이브러리

웹 프레임워크100%+

41%40%21% 4% 3% 3% 3% 3% 2% 1% 5%29%FlaskDjangoFastAPITornadoweb2pyBottleCherryPyPyramidFalconHug기타없음

Flask, Django 및 FastAPI는 여전히 상위 3위의 Python 웹 프레임워크입니다.2018년 말에 처음 출시된 FastAPI는 전년 대비 9% 성장하며 가장 빠른 성장세를 보이고 있습니다. 이와 동시에 Flask 사용자의 점유율은 2020년과 비교하여 5% 감소했습니다.

Django 프레임워크 환경에 대한 자세한 내용은 Django Software Foundation과 파트너십을 맺어 수행한 2021년 Django 개발자 설문조사에서 확인할 수 있습니다.

데이터 과학 프레임워크 및 라이브러리100%+

60%55%43%30%29%23%18%17%16%10% 3% 1% 1% 4%27%NumPyPandasMatplotlibSciPySciKit-LearnTensorFlowPyTorchSeabornKerasNLTKGensimMXNetTheano기타없음

Python 개발자의 10%는 7개 이상의 데이터 과학 프레임워크와 라이브러리를 동시에 사용하고, 그 절반 정도는 2개 이하의 프레임워크를 사용합니다.

기타 프레임워크 및 라이브러리100%+

52%31%24%19%15%14%14%13% 9% 7% 6% 4% 3% 3% 7%19%RequestsPillowAsyncioTkinterPyQTScrapyaiohttpPygamehttpxSixKivywxPythonPyGTKTwisted기타없음

다른 프레임워크의 대부분은 데이터 과학자보다 웹 개발자에게 더 인기가 있으며, 이들은 Tkinker와 PyQT를 훨씬 더 자주 사용합니다.

유닛 테스트 프레임워크100%+

50%25%11% 6% 5% 4% 3% 1%38%pytestunittestmocktoxdoctestHypothesisnose기타없음

여러 가지 Python 유닛 테스트 프레임워크의 인기는 작년과 거의 동일합니다.

개인 개발자의 56%만이 이를 사용하지만 직원이 5,000명 이상인 기업에 다니는 응답자 중 75%가 유닛 테스트 프레임워크를 사용한다고 보고했습니다.

ORM100%+

34%29%16% 5% 3% 2% 1% 1% 4%36%SQLAlchemyDjango ORMRaw SQLSQLObjectPeeweeTortoise ORMPonyORMDejavu기타데이터베이스 개발 없음

SQLAlchemy는 모든 데이터베이스 사용자에게 가장 인기 있는 ORM입니다.

Redis 사용자의 52%가 Django ORM을 사용하는 반면 일반적으로 Python 개발자의 1/3 미만이 이를 사용한다는 점은 흥미롭습니다.또한 주목할만한 사항으로, Amazon Redshift 사용자의 20%가 SQLObject를 사용하지만, 이 수치는 전체 사용자 중 약 5%에 불과합니다.

데이터베이스100%+

43%38%37%20%18%10% 6% 3% 2% 2% 1% 1% 1% 1% 6%19%PostgreSQLSQLiteMySQLMongoDBRedisMS SQL ServerOracle DatabaseAmazon RedshiftNeo4jCassandraDB2HBaseh2Couchbase기타없음

데이터 과학자의 80%가 데이터베이스를 사용하는 반면 웹 개발자는 98%가 사용합니다.

데이터 과학에 관련된 사람들보다 웹 개발에 관련된 사람들이 PostgreSQL을 32%, Redis를 25%, SQLite를 12% 더 자주 사용합니다. 동시에 데이터 과학자들은 웹 개발자보다 Oracle Database를 두 배 더 자주 사용하는 것으로 나타났습니다.

빅데이터 도구100%+

11% 9% 5% 5% 4% 2% 2% 2% 1% 1% 2%75%Apache SparkApache KafkaDaskApache Hadoop/MapReduceApache HiveClickHouseApache FlinkApache BeamApache TezApache Samza기타없음

빅 데이터 도구의 분포는 작년과 거의 동일하게 유지되었습니다.일반적으로 데이터 과학자들은 다른 개발자보다 이러한 도구를 13% 더 자주 사용하며 Apache Spark 및 Dask가 이들 사이에서 약 2배 더 인기가 있습니다.

클라우드 플랫폼

61%

클라우드 플랫폼을 사용하는 Python 개발자의 비율

상위 클라우드 플랫폼100%+

50%32%23%23%17%12% 5% 5% 4% 1% 9%AWSGoogle Cloud PlatformMicrosoft AzureHerokuDigitalOceanPythonAnywhereLinodeOpenStackOpenShiftRackspace기타

이 질문에 대해서는 클라우드 플랫폼을 사용하는 응답자들만 답변했습니다.

흥미롭게도 Visual Basic, C# 및 C/C++ 사용자들은 일반적으로 Python 개발자의 절반에 가까운 빈도로 AWS를 사용합니다.

클라우드에서 코드를 어떻게 실행하시나요?100%+

2021년
2020년
48%/47%41%/43%27%/27%24%/25% 2%/2%11%/11%컨테이너 내에서가상머신에서Platform-as-a-Service(PaaS)에서서버리스기타없음

이 질문에 대해서는 클라우드 플랫폼을 사용하는 응답자들만 답변했습니다.

가상머신은 계속해서 인기를 잃고 있습니다.2018년에는 47%의 점유율을 차지했고 가장 인기 있는 선택이었지만 지금은 Python 개발자의 41%만 사용합니다.

클라우드용으로 어떻게 개발하시나요?100%+

2021년
2020년
53%/56%41%/40%20%/21%19%/17%18%/18% 9%/8% 1%/1%10%/9%virtualenv를 사용하여 로컬에서Docker 컨테이너에서가상머신에서원격 개발 환경에서로컬 시스템 인터프리터를 사용하여프로덕션 환경에서 바로기타없음

이 질문에 대해서는 클라우드 플랫폼을 사용하는 응답자들만 답변했습니다.

virtualenv를 사용한 로컬 Python 개발은 웹 개발, DevOps 및 소프트웨어 프로토타이핑(61~65%)에 관련된 사람들 사이에서 인기가 매우 높습니다.Docker 컨테이너 사용은 주로 웹 개발자(54%) 사이에서 인기가 있습니다.

가상머신은 DevOps, 머신러닝 및 네트워크 프로그래밍(26~27%)에 관련된 개발자 사이에서 널리 사용됩니다.흥미롭게도 DevOps 및 머신러닝에 관련된 사람들은 다른 모든 응답자보다 원격 개발 환경을 더 자주 사용합니다.

개발 도구

운영 체제100%+

LinuxWindowsmacOSBSD기타Linux63%Windows58%macOS25%BSD2%기타1%

2020년과 비교하여 Linux 및 macOS의 인기는 각각 5% 감소한 반면 Windows 사용량은 10% 증가했습니다.

지속적 통합(CI) 시스템100%+

31%22%17% 5% 5% 4% 2% 2% 1% 1% 5%39%GitHub ActionsGitlab CIJenkins/HudsonTravis CICircleCIBitbucket PipelinesTeamCityBambooAppVeyorCruiseControl기타없음

2018년에 도입된 GitHub Actions는 빠르게 인기를 얻어 현재 CI 시스템 목록에서 1위에 올랐으며 Python 개발자의 약 3분의 1이 사용하고 있습니다.

성장하고 있는 또 다른 CI 시스템은 Gitlab CI로, 2018년 이후 사용량이 4% 증가했습니다.동시에 Travis CI는 인기를 빠르게 잃어 2018년에 비해 사용이 13% 감소했습니다.Jenkins/Hudson도 3년 동안 사용이 8% 줄었습니다.

36%

문서 도구를 사용하는 Python 프로그래머의 비율.Sphinx의 인기가 가장 높습니다.

문서 도구100%+

61%Sphinx
22%MKDocs
17%Doxygen
14%기타

Python 개발을 위한 도구 및 기능

적어도 가끔
전혀 또는 거의 전혀
89%11%87%13%87%13%85%15%79%21%77%23%75%25%74%26%74%26%64%36%62%38%61%39%50%50%43%57%41%59%에디터에서 자동 완성 사용코드 리팩터링버전 관리 시스템 사용프로젝트에 Python 가상 환경 사용코드 린트 사용코드에 대한 테스트 작성SQL 데이터베이스 사용선택적 타입 힌트 사용디버거 사용원격 시스템에서 코드 실행/디버그 또는 편집지속적 통합 도구 사용이슈 트래커 사용코드 커버리지 사용Python 프로파일러 사용NoSQL 데이터베이스 사용

Python을 기본 언어로 사용하는 사람들은 Python을 보조 언어로 사용하는 개발자보다 프로젝트에 Python 프로파일러 및 코드 커버리지를 8% 더 자주 사용하고 Python 가상 환경을 10% 더 자주 사용합니다.

에디터

PyCharm Community 및 Professional 버전의 합산 점유율은 31%로 작년 결과와 거의 같습니다.VS Code는 작년에 비해 6% 포인트 성장했습니다.

흥미롭게도 PyCharm과 VS Code는 웹 개발자들 사이에서 똑같이 인기가 있는 반면(39%), 데이터 과학자들은 VS Code를 주요 IDE로 선택한 사람이 9% 더 많았습니다.

기본 IDE/에디터100%+

35%31% 7% 3% 3% 2% 2% 2% 2% 2% 2% 2% 3% 3%VS CodePyCharmVimJupyter NotebookSublime TextIDLEEmacsIntelliJ IDEAAtomNotePad++SpyderJupyterLab기타없음

가장 인기 있는 에디터와 IDE를 파악하기 위해 "현재 Python 개발에 사용하는 기본 에디터는 무엇인가요?"라는 1개의 답변만 할 수 있는 질문을 하였습니다.

데이터 과학 대 웹 개발100%+

데이터 과학
웹 개발
36%/39%27%/39% 5%/7% 2%/1% 2%/2% 2%/2% 2%/3%21%/3%VS CodePyCharmVimAtomEmacsIntelliJ IDEASublime Text기타

웹 개발자란 “Python을 주로 어떤 용도로 사용하시나요?”라는 질문에 '웹 개발'을 선택한 사람들을 말합니다. 데이터 과학자는 같은 질문에서 '데이터 분석' 또는 '머신러닝'을 선택한 사람들을 말합니다.

주로 사용하는 IDE/에디터에 대해 처음 어떻게 알게 되셨나요?

23%16%14%13%11% 8% 7% 2% 1% 4%친구/동료기억나지 않음학교/대학검색 엔진온라인 학습 플랫폼/온라인 코스기술 리뷰/포럼/블로그소셜 네트워크컨퍼런스/사용자 그룹광고기타

Python 개발자들이 주요 IDE에 대해 알게 되는 주된 경로는 학습 활동, 친구/동료 추천 또는 검색 엔진입니다.

흥미롭게도 응답자의 1%만이 광고를 통해 도구를 알게 되었다고 밝혔습니다.

Jupyter Notebook을 사용하는 사람들의 57%는 학교/대학교 또는 온라인 과정에서 처음으로 Jupyter Notebook에 대해 알게 되었지만 전체 응답자로 보면 그 비율이 25%에 불과했습니다.

사용하는 IDE/에디터 수

12345개 이상116%237%325%413%5개 이상8%

VS Code, Jupyter Notebook 및 PyCharm은 기본 IDE 외에 가장 인기가 많았으며 각각의 도구는 Python 개발자의 20% 이상이 사용합니다.

주요 IDE/에디터의 사용 빈도

매일매주월간별로 사용하지 않음매일83%매주13%월간2%별로 사용하지 않음2%

기본 IDE/에디터 외에 사용하는 IDE/에디터100%+

26%25%23%21%13%12%12% 9% 6% 5% 3% 3% 2% 1% 5%16%VS CodeJupyter NotebookPyCharmVimNotePad++Sublime TextJupyterLabIDLEAtomSpyderIntelliJ IDEAPython Tools for Visual Studio(PTVS)EmacsEclipse + Pydev기타없음

VS Code, Jupyter Notebook 및 PyCharm은 기본 IDE 외에 가장 인기가 많았으며 각각의 도구는 Python 개발자의 20% 이상이 사용합니다.

Jupyter Notebook을 주요 IDE로 사용하는 사람들이 추가로 Spyder를 사용하는 비율은 다른 Python 개발자보다 약 4배 더 높습니다.

더 나은 Python 만들기

알고 계셨나요?

2021년에 Python Software Foundation은 Python 프로그래밍 언어 업무를 처리하고 개발자 커뮤니티를 지원할 새로운 상주 정규직 개발자를 임명했습니다.

코어 개발자인 Łukasz Langa는 7월에 CPython DIR 직책에 임명되었습니다. Langa는 백로그 처리를 돕고, 프로젝트 우선 순위를 조사하며, 다른 관심 영역을 검토하는 일을 맡고 있습니다.

새로운 상주 개발자 역할에 대해
어떻게 생각하시나요?

14%좋은 것 같기는 하지만 아직 효과는 실감하지 못함
7%좋은 것 같고 이미 효과를 실감하고 있음
2%좋은 것 같지 않음
77%들어본 적 없음

Python 개발자의 23%는 이미 상주 개발자 역할에 대해 알고 있으며 91%는 이 이니셔티브가 좋다고 생각합니다.

또한 상주 개발자 역할을 알고 있는 개발자의 30%는 이미 이 혁신의 영향을 실감하고 있습니다.

문제 보고

Python 사용자의 19%만이 버그를 보고했습니다.흥미롭게도 bugs.python.org를 사용하는 것이 가장 인기 있는 보고 방법이 아니었으며, 약 두 배 많은 프로그래머들이 다른 곳에서 질문을 하거나 GitHub에 풀 리퀘스트를 제출하는 방법을 선호합니다.

버그를 보고한 사람들 중 73%가 문제를 해결했으며 응답자의 7%만이 누구로부터도 답변을 듣지 못했다고 말했습니다.

문제를 보고해보신 적이 있나요?

9% 8% 4% 2% 1%81%예, 다른 곳에서 문의했습니다예, GitHub에서 풀 리퀘스트를 제출했습니다예, bugs.python.org에서 문제를 보고했습니다예, 메일링 리스트에서 요청했습니다예, Discourse에서 요청했습니다아니요

문제가 해결되었나요?

47%26%18% 7% 3%예, 결국 해결되었습니다예, 신속하게 해결되었습니다아니요, 논의가 있었지만 해결되지 않았습니다아니요, 누구로부터도 답변을 듣지 못했습니다기타

이 질문은 이미 문제를 보고한 적이 있는 응답자만 답변했습니다.

Python 패키징

63%

컨테이너를 사용하는 Python 개발자 비율. 그 중 59%는 컨테이너에서 가상 환경을 사용합니다.

컨테이너에서 가상 환경을 사용하시나요?

아니요, 컨테이너에서 가상 환경을 사용하지 않습니다
아니요, 컨테이너를 사용하지 않습니다
예, 컨테이너에서 가상 환경을 사용합니다
37%37%26%

Python 패키징과 관련하여
직접 사용하시는 도구는 무엇인가요?100%+

81%32%30%23%22%13%13%11%10% 6% 2% 1% 0% 2% 7%pipvenv(표준 라이브러리)컨테이너(예: Docker를 통해)virtualenvCondaPoetrypipenv가상머신twinetox자체 독점 솔루션flitPDM기타없음/잘 모르겠음

표준 라이브러리 모듈 venv를 사용하시나요?100%+

42%23%11%11% 4% 1%23%11%venv를 직접 사용함virtualenv를 통해 사용함Poetry를 통해 사용함Pipenv를 통해 사용함tox를 통해 사용함기타아니요, venv를 사용하지 않습니다모르겠음

애플리케이션 종속 요소

Python 개발자의 45%가 애플리케이션 종속 요소의 버전 고정을 위해 도구를 사용합니다. 이를 저장하는 가장 일반적인 방법은 개발자의 4분의 3이 사용하는 requirements.txt를 사용하는 것입니다.

애플리케이션 종속 요소의 정확한 버전 관리를 위해 도구를 사용하시나요?

아니요
55%45%

애플리케이션 종속 요소 정보가 어떤 형식으로 저장되나요?100%+

76%26%22%16%11% 4% 5% 3%requirements.txtpyproject.tomlpoetry.lockpipfile.lockConda environment.ymlpip constraints.txt기타없음

이 질문에는 애플리케이션 종속 요소의 정확한 버전 관리를 위해 도구를 사용하는 응답자만 답했습니다.

애플리케이션 종속 요소의 버전 업데이트에 자동화된 서비스를 사용하시나요?100%+

24%10% 6% 2%65%Dependabot사용자 지정 도구(예: cron 작업 또는 예약된 CI 작업)PyUp기타아니요, 애플리케이션 종속 요소를 수동으로 업데이트합니다

애플리케이션 종속 요소 관리에 어떤 도구를 사용하시나요?100%+

poetrypipenvpip-tools기타없음poetry27%pipenv26%pip-tools26%기타4%없음33%

이 질문에는 애플리케이션 종속 요소의 정확한 버전 관리를 위해 도구를 사용하는 응답자만 답했습니다.

패키지 설치

개발자의 90%가 pip를 사용하여 Python 패키지를 설치한다고 밝혔습니다. Python Package Index는 패키지를 가져오는 가장 인기 있는 장소입니다.

패키지는 어디에서 받아 설치하시나요?100%+

81%33%17%16%15%11%10%10% 9% 8% 4% 3% 2% 9%PyPIGitHub로컬 소스AnacondaLinux 배포 이용프라이빗 Python Package IndexPyPI의 내부 미러conda-forge Conda 채널디폴트 Conda 채널GitLab기타 Conda 채널Artifactory기타잘 모르겠음

패키지 설치에 어떤 도구를 사용하시나요?100%+

90%21%13% 5% 5% 2% 3% 3%pipCondaPoetryeasy_installpipxpip-sync기타없음
55%

애플리케이션을 개발한다고 말한 Python 개발자 비율. 이 목적으로 사용되는 가장 인기 있는 도구는 Setuptools입니다(개발자의 46%가 사용).

Python 애플리케이션 개발에
어떤 도구를 사용하시나요?100%+

46%30%18%17% 5% 2% 1% 1% 1% 1% 4%28%SetuptoolsWheelbuildPoetryconda-buildFlitpexPDM-PEP517maturinEnscons기타없음/잘 모르겠음

이 질문에는 애플리케이션을 개발하는 응답자만 답했습니다.

Python 사용자의 절반 이상이 애플리케이션을 개발하지만 이 중 40%만이 애플리케이션을 패키지 저장소에 게시했습니다.

Python 라이브러리 패키지를 만드는 데
어떤 도구를 사용하시나요?100%+

71%42%26%20% 5% 3% 1% 1% 1% 1% 3%SetuptoolsWheelbuildPoetryconda-buildFlitEnsconspexmaturinPDM-PEP517기타

이 질문에는 Python 라이브러리를 개발하는 응답자만 답했습니다.

34%의 응답자가 Python 라이브러리를 개발하며, 패키징에 사용하는 가장 일반적인 방법은 Setuptools입니다(71%가 사용).

흥미롭게도 Python 라이브러리 개발자의 27%만이 라이브러리를 패키지 저장소에 게시했습니다.

패키지로 구성한 Python 라이브러리를
어디에 게시하셨나요?100%+

72%PyPI
37%프라이빗 Python Package Index
10%PyPI의 내부 미러
6%conda-forge
4%기타

이 질문에는 패키지 구성된 Python 라이브러리를 게시한 경험이 있는 응답자만 답했습니다.

Python Package Index는 개발된 라이브러리 및 애플리케이션 패키지를 게시하는 가장 인기 있는 장소이며, Private PyPI의 이용 빈도는 그 절반 정도입니다.

인구통계

팀 작업 대 개인 작업

48%팀으로 작업
48%혼자서 자신만의 프로젝트 진행
4%외부 컨설턴트 또는 트레이너로 일함

프로젝트 작업

42%다수의 다양한 프로젝트를 진행
39%하나의 메인 프로젝트와 여러 개의 부수적프로젝트를 진행
19%하나의 프로젝트만 진행

고용 상태

62%14% 6% 6% 6% 4% 1% 2%회사/조직의 정규직학생FreelancerSelf-employed아르바이트생회사/조직의 계약직은퇴함기타

기업 규모

7%12%17%24% 7%10%19% 3%혼자 일 함2~10명11~50명51~500명501~1,000명1,001~5,000명5,000명 초과모르겠음

이 질문에는 회사에 고용된 응답자만 답했습니다.

팀 규모

2~7명8~12명13~20명21~40명40명 초과2~7명72%8~12명17%13~20명6%21~40명3%40명 초과2%

이 질문에는 회사에 고용된 응답자만 답했습니다.

기업 업종

41% 7% 7% 5% 4% 4% 3%IT/소프트웨어 개발과학교육/트레이닝회계/재무/보험제조제약/의료금융/부동산/모기지 금융
모든 결과 보기

이 질문에는 회사에 고용된 응답자만 답했습니다.

개발 대상 분야

51% 4% 3% 3% 3% 3% 3%IT/소프트웨어 개발회계/재무/보험제조제약/의료판매/유통/사업 개발금융/부동산/모기지 금융보안
모든 결과 보기

이 질문에는 회사에 고용된 응답자만 답했습니다.

직책100%+

72%17%17%17% 9% 7% 6% 5% 5% 5% 4% 4%13%개발자/프로그래머데이터 분석가아키텍쳐 전문가팀장기술 지원시스템 분석가CIO/CEO/CTOQA 엔지니어제품 관리자DBA비즈니스 분석가테크니컬 라이터기타

이 질문에는 고용된 응답자만 답했습니다.

연령대(만 나이)

18~20세21~29세30~39세40~49세50~59세60세 이상18~20세10%21~29세38%30~39세29%40~49세13%50~59세6%60세 이상3%

Python 경험

1년 미만1~2년3~5년6~10년11년 이상1년 미만23%1~2년23%3~5년29%6~10년15%11년 이상10%

전문적인 코딩 경험

1년 미만1~2년3~5년6~10년11년 이상1년 미만36%1~2년19%3~5년19%6~10년11%11년 이상15%

어느 국가 또는 지역에 살고 계시나요?

1% 미만의 국가/지역은 모두 '기타'로 합쳐졌습니다.

17% 9% 7% 6% 5% 5% 4% 3% 3% 3% 2% 2% 2% 2%미국인도독일중국 대륙영국프랑스러시아브라질폴란드캐나다이탈리아네덜란드호주이란
모든 결과 보기

방법론 및 원시 데이터

데이터를 더 상세하게 파헤쳐보고 싶으신가요? 익명의 설문조사 응답 결과를 다운로드하여 새로운 사실을 확인해 보세요! Twitter에서 #pythondevsurvey 해시태그와 함께 @jetbrains@ThePSF를 멘션하여 새로운 사실과 통찰력을 공유하세요.

이 데이터를 분석하기 전에 다음 중요한 정보에 유념하세요.

데이터 세트에는 공식 Python Software Foundation 채널의 응답만 포함됩니다. 데이터 세트에는 중복되고 신뢰할 수 없는 응답을 배제한 후, 2021년 10월 11일부터 12월 6일 사이에 수집된 23,000개 이상의 응답을 포함시켰습니다. 설문조사 홍보는 python.org, PSF 블로그, PSF의 TwitterLinkedIn 계정, 공식 Python 메일링 리스트, 그리고 Python 관련 하위 Reddit 등의 채널을 통해 진행했습니다. 설문조사가 특정 도구나 기술에 유리하게 편향되는 것을 방지하기 위해 제품, 서비스 또는 공급업체 관련 채널은 응답을 수렴하는 데 사용하지 않았습니다.

데이터는 익명으로 처리되어 있으며, 개인 정보나 지리적 위치 정보는 포함되지 않습니다. 개인의 의견에 있는 글자 하나하나로 개별 응답자를 식별하지 못하도록 모든 개방형 필드를 삭제했습니다.

설문조사의 논리를 더 잘 이해할 수 있도록 데이터 세트, 설문조사 질문 및 설문조사 논리를 함께 공개했습니다. 답변 옵션에 대해 다양한 순서 지정 방법을 사용했습니다(알파벳, 무작위, 직접).답변의 순서는 질문별로 지정됩니다.

답변을 제외한 기준

  • 만 17세 이하인 경우
  • 설문조사 세 번째 페이지인 "전문적인 코딩 경력은 몇 년인가요?"라는 질문에 도달하지 못한 경우
  • 만 21세 미만이면서 11년 이상의 전문 코딩 경험이 있는 경우
  • 다중 선택 질문에 대한 단일 답변이 너무 많음('없음' 답변 제외)
  • 동일한 이메일 주소로 여러번 응답한 경우(하나의 응답만 남음)
  • 동일한 IP 주소에 유사한 응답이 있는 경우

다음 중 적어도 두 가지에 해당한 경우:

    • 16개 이상의 프로그래밍 언어가 사용됨
    • 9개 이상의 직무 역할을 선택
    • 11개 이상의 Python 사용 목적("Python을 어떤 용도로 사용하시나요?")을 선택
    • 선택한 국가/지역이 알파벳순으로 목록의 첫 번째에 있으며, 일반적인 국가/지역이 아니며, IP가 탐지된 국가/지역과 다름
    • CEO와 기술 지원 직무를 함께 선택
    • CEO이면서 만 21세 미만
    • 전체적으로 너무 많은 답변이 선택됨(데이터 과학, 웹 개발, 패키징 등을 위해 거의 모든 프레임워크를 사용하는 답변)
    • 너무 빨리 대답함(질문당 6초 미만)

Python Software Foundation과 JetBrains를 대표하여 이 설문조사에 참여해 주신 모든 분들께 다시 한 번 감사드립니다. 여러분의 도움이 있어 Python 커뮤니티의 현황을 더 정확하게 포착할 수 있었습니다!

PSF의 정기 기부 캠페인에 동참하세요. PSF는 후원자, 회원 및 일반 대중의 지원으로만 운영되는 비영리 조직입니다.

2020년, 2019년, 2018년2017년의 Python 개발자 설문조사 결과를 확인해보세요.

JetBrains의 다른 대규모 설문조사 보고서를 살펴보세요!

읽어주셔서 감사합니다!

보고서가 여러분에게 유익한 도움이 되었기를 바랍니다.이 보고서를 친구 및 동료와 공유하세요.

향후 설문조사에 참여해주세요:

본 설문조사에 관한 질문이나 향후 설문조사에 대한 제안이 있으면 surveys@jetbrains.com 또는 psf@python.org로 연락해 주시기 바랍니다.