Посмотрите результаты опросов 2020, 2019, 2018 и 2017 годов.

Использование 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
Все результаты

Среди языков, используемых вместе с Python, самый популярный — JavaScript. Однако среди разработчиков, назвавших Python второстепенным, с JavaScript делит популярность C/C++. HTML/CSS, Bash/Shell и SQL тоже используются довольно широко: на каждом их них пишут больше трети Python-разработчиков.

Инструменты для веб-разработки и Data Science100+

Data Science
Веб-разработка
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 чаще всего?».Соответственно, Data Science относится к тем, кто в ответе на тот же вопрос, выбрал анализ данных или машинное обучение.

Как и ожидалось, среди веб-разработчиков популярными языками, используемыми совместно с Python, стали JavaScript (69%) и HTML/CSS (60%), в то время как те, кто занимается анализом данных, чаще выбирают SQL (42%).Кроме того, среди разработчиков, занятых анализом данных, доля тех, кто не использует никакие дополнительные языки, втрое выше, чем среди веб-разработчиков.

Для чего используют Python

Мы спрашивали, с какой целью люди используют Python, какими видами разработки они занимаются и как совмещают разные варианты применения языка.

Для чего вы используете Python?

52%И для рабочих, и дляличных проектов
29%Для личных,образовательных и несвязанных с основнойработой проектов
19%Для работы

Использование Python в 2020 и 2021 годах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 в качестве основного и второстепенного языка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 — основной язык, используют его в первую очередь для веб-разработки. Среди тех, кто назвал Python второстепенным языком, веб-разработка является основной деятельностью лишь для 12%.

Что интересно, доля разработчиков, указавших анализ данных в качестве основной сферы использования Python, примерно одинакова и среди тех, для кого это основной язык программирования (17%), и среди тех, для кого он второстепенный (16%).

Вы считаете себя дата-сайентистом?

Нет
Да
Другое
66%29%5%

На вопрос отвечали только те, кто занимается анализом данных и машинным обучением.

Лишь 29% Python-разработчиков, занятых анализом данных и машинным обучением, считают себя специалистами по Data Science.

Версии Python

Python 3 и Python 2

Python 3
Python 2
95%5%94%6%90%10%84%16%75%25%20212020201920182017

Доля пользователей Python 2 сокращается в среднем на 5 процентных пунктов в год, и сейчас его используют лишь 5 разработчиков из 100.

Интересно, что, по сравнению с Python 3, Python 2 чаще применяется для создания компьютерной графики, игр и мобильной разработки.

Области применения разных версий языка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%

Установка и обновление Python100+

38%28%16%16%15% 6% 5% 3% 1% 1% 1% 3%12%Python.orgПакеты Python, предоставляемые ОС (через apt-get, yum, homebrew и т. п.)Контейнеры DockerAnacondapyenvСборка из исходного кодаОбновлением Python занимается другой человекАвтоматическое обновление через поставщика облачных сервисовActivePythonIntel Distribution for PythonpythonzДругоеНе обновляю

Enthought выбрали менее 0,5% респондентов, поэтому он был включен в «Другое».

Больше половины пользователей Windows скачивают Python с сайта Python.org, а среди пользователей Linux так делает лишь треть. Неудивительно, что пользователи Linux и macOS чаще всего устанавливают и обновляют Python, используя возможности операционной системы. В то же время у пользователей macOS довольно большой популярностью пользуются pyenv и контейнеры Docker.

Способы изоляции окружения100+

50%31%20%16%11% 5% 4%25%VirtualenvDockerCondaPipenvPoetryVagrant / virtual machinesДругоеНет

Специальные инструменты для изоляции окружения Python используют 75% Python-разработчиков.Интересно, что самым популярным инструментом у разработчиков, использующих Jupyter-ноутбуки (50%), является Conda, а остальные предпочитают Virtualenv и Docker.

Фреймворки и библиотеки

Веб-фреймворки100+

41%40%21% 4% 3% 3% 3% 3% 2% 1% 5%29%FlaskDjangoFastAPITornadoweb2pyBottleCherryPyPyramidFalconHugДругоеНет

Flask, Django и FastAPI остаются самыми популярными веб-фреймворками для Python. FastAPI, выпущенный в конце 2018 года, демонстрирует самый быстрый рост: его доля по сравнению с прошлым годом увеличилась на 9 процентных пунктов. В то же время доля пользователей Flask по сравнению с 2020 годом уменьшилась на 5 процентных пунктов.

Подробнее об использовании фреймворка Django можно узнать из результатов опроса Django-разработчиков, который мы провели совместно с Django Software Foundation в 2021 году.

Фреймворки и библиотеки для анализа данных100+

60%55%43%30%29%23%18%17%16%10% 3% 1% 1% 4%27%NumPyPandasMatplotlibSciPySciKit-LearnTensorFlowPyTorchSeabornKerasNLTKGensimMXNetTheanoДругоеНет

10% Python-разработчиков используют одновременно 7 и более фреймворков и библиотек для Data Science, а половина — не больше двух.

Другие фреймворки и библиотеки100+

52%31%24%19%15%14%14%13% 9% 7% 6% 4% 3% 3% 7%19%RequestsPillowAsyncioTkinterPyQTScrapyaiohttpPygamehttpxSixKivywxPythonPyGTKTwistedДругоеНет

Большинство остальных фреймворков более популярны среди веб-разработчиков, чем среди специалистов по Data Science, которые в основном используют Tkinker и PyQT.

Фреймворки для юнит-тестирования100+

50%25%11% 6% 5% 4% 3% 1%38%pytestunittestmocktoxdoctestHypothesisnoseДругоеНет

Популярность различных фреймворков для юнит-тестирования Python за год почти не изменилась.

Их используют лишь 56% соло-разработчиков, зато в компаниях численностью от 5000 сотрудников ими пользуются 75% респондентов.

ORM100+

34%29%16% 5% 3% 2% 1% 1% 4%36%SQLAlchemyDjango ORMЧистый SQLSQLObjectPeeweeTortoise ORMPonyORMDejavuДругоеНе разрабатываю базы данных

SQLAlchemy — самая популярная ORM среди пользователей баз данных.

Интересно, что 52% пользователей Redis используют ORM Django, хотя в среднем ею пользуются менее трети Python-разработчиков. А еще стоит отметить, что 20% пользователей Amazon Redshift используют SQLObject, в то время как ее доля среди всех разработчиков меньше 5%.

Базы данных100+

43%38%37%20%18%10% 6% 3% 2% 2% 1% 1% 1% 1% 6%19%PostgreSQLSQLiteMySQLMongoDBRedisMS SQL ServerOracle DatabaseAmazon RedshiftNeo4jCassandraDB2HBaseh2CouchbaseДругоеНет

Среди специалистов по Data Science базами данных пользуются 80%, среди веб-разработчиков — 98%.

Доля пользователей PostgreSQL среди веб-разработчиков на 32 процентных пункта больше, чем среди тех, кто занят Data Science. Доля пользователей Redis больше на 25 процентных пунктов, а доля пользователей SQLite — на 12 процентных пунктов. В то же время специалисты по Data Science вдвое чаще, чем веб-разработчики, используют 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ДругоеНет

Распределение ответов по инструментам для работы с большими данными осталось примерно таким же, как в прошлом году. В целом специалисты по Data Science используют их на 13 процентных пунктов чаще, чем другие разработчики, а Apache Spark и Dask у них популярнее вдвое.

Облачные платформы

61%

Python-разработчиков используют облачные платформы.

Популярные облачные платформы100+

50%32%23%23%17%12% 5% 5% 4% 1% 9%AWSGoogle Cloud PlatformMicrosoft AzureHerokuDigitalOceanPythonAnywhereLinodeOpenStackOpenShiftRackspaceДругое

На вопрос отвечали только те, кто пользуется облачными платформами.

Интересно, что пользователи Visual Basic, C# и C/C++ используют AWS примерно вдвое реже, чем Python-разработчики в целом.

Как вы запускаете код в облаке?100+

2021
2020
48%/47%41%/43%27%/27%24%/25% 2%/2%11%/11%В контейнерахВ виртуальных машинахИспользуя платформу как услугуВнесерверная обработкаДругоеНет

На вопрос отвечали только те, кто пользуется облачными платформами.

Популярность виртуальных машин продолжает снижаться. В 2018 году их доля составляла 47%, это был самый распространенный вариант. Сегодня же их использует лишь 41% Python-разработчиков.

Как вы разрабатываете облачные приложения?100+

2021
2020
53%/56%41%/40%20%/21%19%/17%18%/18% 9%/8% 1%/1%10%/9%Локально с помощью virtualenvВ контейнерах DockerВ виртуальных машинахВ удаленных средах разработкиС помощью интерпретатора локальной системыНепосредственно в производственной средеДругоеНет

На вопрос отвечали только те, кто пользуется облачными платформами.

Среди тех, кто занят веб-разработкой, DevOps и прототипированием ПО, чрезвычайно популярна локальная разработка на Python с использованием virtualenv (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ДругоеНет

GitHub Actions появилась в 2018 году и быстро набрала популярность. Сегодня она лидирует в списке CI-систем: ею пользуется почти треть Python-разработчиков.

Еще одна CI-система, демонстрирующая рост, — Gitlab CI: ее доля выросла с 2018 года на 4 процентных пункта. А вот Travis CI быстро теряет популярность: снижение на 13% по сравнению с 2018 годом. Jenkins/Hudson также потеряла 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 и инструменты анализа покрытия кода больше на 8 процентных пунктов, а доля использующих виртуальные окружения Python на 10 процентных пунктов больше, чем среди разработчиков, для которых Python второстепенный язык.

Редакторы

Общая доля редакций PyCharm Community и Professional составляет 31% — почти столько же, сколько в прошлом году. Доля VS Code выросла за год на 6 процентных пунктов.

Интересно, что PyCharm и VS Code одинаково популярны среди веб-разработчиков (39%), в то время как специалисты по Data Science чаще (на 9 процентных пунктов) используют VS Code в качестве основной IDE.

Основная IDE/редактор100+

35%31% 7% 3% 3% 2% 2% 2% 2% 2% 2% 2% 3% 3%VS CodePyCharmVimНоутбуки JupyterSublime TextIDLEEmacsIntelliJ IDEAAtomNotePad++SpyderJupyterLabДругоеНет

Чтобы определить, какие IDE и редакторы наиболее популярны, мы задали вопрос, в котором можно было выбрать только один вариант ответа.

Data Science и веб-разработка100+

Data Science
Веб-разработка
36%/39%27%/39% 5%/7% 2%/1% 2%/2% 2%/2% 2%/3%21%/3%VS CodePyCharmVimAtomEmacsIntelliJ IDEASublime TextДругое

Статистика по веб-разработке основана на ответах респондентов, которые выбрали веб-разработку, отвечая на вопрос «С какой целью вы используете Python чаще всего?».Соответственно, Data Science относится к тем, кто в ответе на тот же вопрос, выбрал анализ данных или машинное обучение.

Как вы впервые узнали о своей основной IDE/редакторе?

23%16%14%13%11% 8% 7% 2% 1% 4%От друга или коллегиНе помнюВ школе или университетеЧерез поисковикНа образовательной онлайн-платформе или онлайн-курсахИз технического обзора, на форуме, в блогеВ соцсетяхНа конференции или митапеИз рекламыДругое

Чаще всего Python-разработчики узнавали об IDE, которая стала для них основным инструментом, от друзей или коллег, во время обучения, а также через поиск в интернете.

Лишь 1% респондентов узнали о своих инструментах из рекламы.

57% пользователей Jupyter-ноутбуков впервые узнали о них в школе, в университете или на онлайн-курсах. Среди всех участников опроса такие варианты ответа выбрали 25%.

Количество используемых IDE/редакторов

12345 и более116%237%325%413%5 и более8%

VS Code, Jupyter-ноутбуки и PyCharm чаще всего используются в дополнение к основной IDE: каждый из этих вариантов выбрали более 20% Python-разработчиков.

Частота использования основной 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 CodeНоутбуки JupyterPyCharmVimNotePad++Sublime TextJupyterLabIDLEAtomSpyderIntelliJ IDEAPython Tools for Visual Studio (PTVS)EmacsEclipse + PydevДругоеНет

VS Code, Jupyter-ноутбуки и PyCharm чаще всего используются в дополнение к основной IDE: каждый из этих вариантов выбрали более 20% Python-разработчиков.

Те, для кого основная IDE — Jupyter-ноутбук, в четыре раза чаще других Python-разработчиков также используют Spyder.

Улучшение Python

Знаете ли вы?

В июне 2021 года Python Software Foundation пригласили разработчика, который бы на постоянной основе занимался развитием языка и поддержкой сообщества.

Им стал Core-разработчик Лукаш Ланга. Он помогает разобраться с нерешенными задачами, определить приоритетные направления развития проекта, изучает другие важные вопросы.

Что вы думаете о новой
должности приглашенного разработчика?

14%Идея хорошая, но я покане вижу результатов
7%Идея хорошая, и я ужевижу результаты
2%Мне не нравится
77%Никогда об этом неслышал

23% Python-разработчиков уже знают о приглашенном разработчике, и 91% из них считают, что это хорошая идея.

Более того, 30% тех, кто в курсе новшества, уже видят его эффект.

Как пользователи языка сообщают об ошибках

Только 19% пользователей Python когда-либо сообщали о найденных ошибках. Что интересно, сайт 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Не знаю

Зависимости приложения

45% Python-разработчиков используют те или иные инструменты для закрепления версии зависимостей приложения. Чаще всего они хранятся в файле 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 или выполняемое по графику задание CIPyUpДругоеНет, я обновляю зависимости приложения вручную

Какие инструменты вы используете для управления зависимостями приложения?100+

poetrypipenvpip-toolsДругоеНетpoetry27%pipenv26%pip-tools26%Другое4%Нет33%

На вопрос отвечали только те, кто использует инструменты для управления точными версиями зависимостей приложения.

Установка пакетов

90% разработчиков заявили, что для установки пакетов Python они используют pip. Большинство получает пакеты через Python Package Index.

Откуда вы скачиваете пакеты?100+

81%33%17%16%15%11%10%10% 9% 8% 4% 3% 2% 9%PyPIGitHubЛокальный источникAnacondaИз дистрибутива LinuxЧастный Python Package IndexВнутреннее зеркало PyPIКанал Conda conda-forgeКанал Conda по умолчаниюGitLabДругой канал CondaArtifactoryДругоеНе знаю

Какие инструменты вы используете для установки пакетов?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-библиотеки. Для создания пакетов большинство из них (71%) использует Setuptools.

Что интересно, лишь 27% тех, кто разрабатывает библиотеки, уже публиковали их в репозиториях пакетов.

Где вы публиковали свои пакеты
Python-библиотек?100+

72%PyPI
37%Частный Python PackageIndex
10%Внутреннее зеркало PyPI
6%conda-forge
4%Другое

На вопрос отвечали только те, кто публиковал пакеты Python-библиотек.

Python Package Index — самое популярное место для публикации пакетов разработанных библиотек и приложений. Private PyPI используется примерно вдвое реже.

Демография

В команде vs самостоятельно

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–1011–5051–500501–10001001–5000> 5000Не знаю

На вопрос отвечали только те, кто работает в штате.

Размер команды

2–78–1213–2021–40> 402–772%8–1217%13–206%21–403%> 402%

На вопрос отвечали только те, кто работает в штате.

Сфера деятельности компании

41% 7% 7% 5% 4% 4% 3%Информационные технологии / разработка ПОНаукаОбразование / обучениеБухгалтерия / финансы / страхованиеПроизводствоМедицина / здравоохранениеБанковское дело / недвижимость / ипотечное финансирование
Все результаты

На вопрос отвечали только те, кто работает в штате.

Целевая отрасль

51% 4% 3% 3% 3% 3% 3%Информационные технологии / разработка ПОБухгалтерия, финансы, страхованиеПроизводствоМедицина, здравоохранениеПродажи / дистрибуция / развитие бизнесаБанковское дело / недвижимость / ипотечное финансированиеБезопасность
Все результаты

На вопрос отвечали только те, кто работает в штате.

Рабочая роль100+

72%17%17%17% 9% 7% 6% 5% 5% 5% 4% 4%13%Разработчик, программистАналитик данныхАрхитекторРуководитель командыТехническая поддержкаСистемный аналитикРуководитель компанииQA-инженерМенеджер продуктаАдминистратор БДБизнес-аналитикТехнический писательДругое

На этот вопрос отвечали только те, кто работает.

Возраст

18–2021–2930–3940–4950–5960 и старше18–2010%21–2938%30–3929%40–4913%50–596%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. После того как мы исключили дубликаты и ненадежные ответы, в наборе данных осталось более 23 000 ответов, собранных с 11 октября по 6 декабря 2021 года за счет продвижения опроса на сайте python.org, в блоге PSF, на страницах PSF в Twitter и LinkedIn, через официальные рассылки Python и связанные с Python сабреддиты. Чтобы избежать искажения результатов в пользу определенного инструмента или технологии, для сбора ответов не использовались каналы, связанные с какими-либо продуктами, сервисами и поставщиками.

Данные полностью анонимны и не содержат персональных данных респондентов и информации об их местонахождении. Чтобы исключить вероятность идентификации респондентов по их комментариям, мы удалили все ответы на открытые вопросы.

Чтобы вам было проще понять логику опроса, мы делимся набором данных, вопросами и всей логикой анкеты. Мы использовали разные способы упорядочивания вариантов ответов (алфавитный, случайный и прямой). Порядок ответов указан для каждого вопроса.

Критерии исключения ответов

  • Возраст 17 лет или меньше.
  • Респондент не дошел до вопроса «Как долго вы профессионально занимаетесь программированием?» на третьей странице опроса.
  • Возраст менее 21 года, а опыт профессионального программирования более 11 лет.
  • Слишком много одиночных ответов на вопросы с возможностью выбора нескольких ответов (за исключением ответов «Никакие», «Нет»).
  • Несколько ответов с одного адреса электронной почты (для каждого адреса мы сохранили только один ответ).
  • Сходные ответы с одного IP-адреса.

Сочетание по крайней мере двух из следующих факторов:

    • Используется более 16 языков программирования.
    • Более 9 рабочих ролей.
    • Более 11 областей использования («Для чего вы используете Python?»).
    • Выбранная страна/регион находится в верхней части списка стран/регионов, а не среди самых распространенных стран/регионов, при этом отличается от страны/региона, определенного по IP-адресу.
    • Сочетание рабочих ролей CEO и «Техническая поддержка».
    • CEO и возраст менее 21 года.
    • В целом слишком много выбранных ответов (например, респондент использует практически все фреймворки для Data Science, веб-разработки, упаковки и т. п.).
    • Ответы даны слишком быстро (менее 6 секунд на вопрос).

JetBrains и Python Software Foundation благодарят всех, кто участвовал в опросе. Вы помогли нам составить актуальное представление об экосистеме Python.

Поддержите Python Software Foundation. PSF — некоммерческая организация, существующая исключительно на средства, внесенные ее членами, спонсорами и сообществом.

Посмотрите результаты опросов 2020, 2019, 2018 и 2017 годов.

Читайте отчеты о других исследованиях JetBrains.

Спасибо, что уделили время!

Надеемся, наш отчет был вам полезен. Поделитесь результатами исследования с друзьями и коллегами.

Примите участие в наших опросах:

Если у вас есть вопросы об этом исследовании или предложения для новых опросов, напишите нам по адресу surveys@jetbrains.com или psf@python.org.