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

Использование Python

Python в качестве основного и второстепенного языка

Использование Python с другими языками100+

2022
2021
37%/40%36%/38%34%/33%31%/33%29%/30%19%/20%11%/10%11%/11%9%/9%8%/9%7%/6%6%/5%4%/4%3%/3%
Все результаты

86% Python-разработчиков используют помимо Python и другие языки. Чаще всего это JavaScript, HTML/CSS и SQL.

Использование Python с другими языками100+

основной
второстепенный
37%/38%37%/32%35%/28%32%/22%27%/37%18%/28%10%/17%10%/18%9%/14%8%/11%6%/5%6%/9%4%/5%3%/6%
Все результаты

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

Data Science
Веб-разработка
45%/50%34%/66%34%/41%33%/60%32%/19%20%/16%15%/2%11%/8%9%/23%8%/12%7%/14%6%/9%4%/2%3%/4%18%/14%9%/4%

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

Вполне ожидаемо у веб-разработчиков наибольшей популярностью пользуются JavaScript и HTML/CSS, а специалисты по Data Sciene предпочитают SQL.

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

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

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

Каждый пятый респондент использует Python только для рабочих проектов, а чуть больше половины — и для личных проектов тоже.

Использование Python в 2021 и 2022 годах100+

2022
2021
51%/51%43%/45%36%/36%34%/36%30%/31%27%/27%25%/26%20%/22%19%/19%17%/18%13%/12%9%/10%8%/7%6%/6%6%/5%6%/7%

Использование Python в качестве основного и второстепенного языка100+

основной
второстепенный
53%/44%45%/31%37%/29%35%/34%30%/28%27%/26%26%/22%20%/23%19%/18%17%/17%13%/12%9%/9%7%/5%7%/10%6%/5%6%/6%

Насколько активно вы занимаетесь следующими видами деятельности?

основная деятельность
второстепенная деятельность
хобби
не занимаюсь
24%19%8%49%26%10%7%57%16%11%8%64%14%15%5%66%8%12%10%70%12%7%8%73%11%12%3%75%9%8%4%80%7%6%5%82%6%7%4%83%4%4%4%88%2%2%5%91%3%2%2%92%2%2%2%94%2%2%2%95%5%1%1%94%Анализ данныхВеб-разработкаМашинное обучениеDevOps/системное администрирование/написание скриптов автоматизацииПрограммирование веб-парсеров/скраперов/сборщиковОбразовательные целиТестирование ПО / написание автоматических тестовПрототипирование ПОРазработка десктопных приложенийСетевое программированиеКомпьютерная графикаРазработка игрРазработка для встраиваемых системМобильная разработкаРазработка мультимедийных приложенийДругое

С какой целью вы используете Python чаще всего?

2022
2021
22%/23%18%/17%12%/11%10%/10%9%/9%5%/5%4%/4%4%/4%3%/3%3%/3%2%/2%1%/1%1%/1%1%/1%1%/1%6%/6%

Те, для кого Python — основной язык, чаще всего используют его для веб-разработки (23%).

В качество второстепенного языка Python чаще всего используют для анализа данных (16%) и DevOps (14%), а веб-разработка остается на третьем месте (13%).

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

Нет
Да
Другое
61%34%5%

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

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

Версии Python

Python 3 и Python 2

Python 3
Python 2
93%7%95%5%94%6%90%10%84%16%75%25%202220212020201920182017

Более 90% респондентов используют Python 3, поэтому можно сказать, что эта версия

уже стала общепринятой.

Доля пользователей Python 2 в последние три года остается неизменной и не превышает 7%. Тем не менее кое-кто еще использует версию 2 для анализа данных (29%), компьютерной графики (24%) и DevOps (23%).

Области применения разных версий языка100+

Python 3
Python 2
54%/29%46%/19%38%/13%36%/23%32%/13%27%/14%27%/21%22%/11%19%/18%17%/18%11%/24%8%/13%8%/7%5%/13%5%/11%7%/4%

Версии Python 3

2022
2021
45%/16%23%/35%17%/27%9%/13%4%/7%2%/2%

Обратите внимание, что опрос проводился с 14 октября по 14 ноября 2022 года, а Python 3.11 вышел только 24 октября 2022 года.

11%

Python-разработчиков ответили, что не обновляют версию Python, а 6% сообщили, что обновлениями занимается другой человек.

52%

респондентов, использующих Windows, скачивают Python с python.org, а пользователи macOS и Linux чаще всего используют пакеты, предоставляемые операционной системой, Python.org, Docker-контейнеры и pyenv.

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

37%26%17%17%16%6%6%5%2%2%2%3%11%

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

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

49%31%22%16%14%6%4%23%

Poetry постепенно набирает популярность в качестве инструмента для изоляции окружения Python. С 2020 года он прибавил 6 процентных пунктов. Инструмент выглядит перспективно, и некоторые его возможности уже были реализованы в базовых средствах Python.

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

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

39%39%25%4%4%4%3%3%2%2%5%27%

Среди веб-фреймворков для Python по-прежнему с большим отрывом лидируют Flask, Django и FastAPI.

Все остальные, вместе взятые, едва опережают обладателя третьего места. FastAPI за год прибавил 4 процентных пункта — теперь его использует каждый четвертый Python-разработчик.

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

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

48%29%25%20%15%15%14%13%12%6%6%5%4%4%6%19%

Хотя тройка лидеров за год не изменилась, Requests уступил httpx 4 процентных пункта.

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

51%24%10%6%6%5%4%1%35%

В крупных компаниях чаще выполняют юнит-тестирование в Python-проетках и шире используют pytest и mock, чем в небольших компаниях.

ORM100+

SQLAlchemy35%Django ORM28%Чистый SQL16%SQLObject8%Peewee3%Tortoise ORM3%PonyORM3%Dejavu2%Другое4%Не разрабатываю базы данных34%

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

42%37%36%19%16%12%7%4%3%3%2%2%2%2%6%18%

MS SQL Server и Oracle Database вдвое популярнее у специалистов по Data Science, чем у веб-разработчиков, а вот большинство других баз данных веб-разработчики используют чаще.

Инструменты для работы с большими данными100+

12%10%6%6%5%3%3%3%2%2%1%69%

31% Python-разработчиков используют инструменты для работы с большими данными — это на 6 процентных пунктов больше, чем в 2021 году. Среди специалистов по Data Science их целых 42%.

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

66%

Python-разработчиков используют облачные платформы — на 5 процентных пунктов больше, чем в прошлом году.

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

49%33%25%20%16%14%7%6%5%2%9%

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

Африканские Python-разработчики чаще всего (39%) используют облачную платформу Heroku. Использование других языков также влияет на выбор платформы.

Как и следовало ожидать, пользователи C# используют Microsoft Azure почти так же часто, как AWS. Активнее всех облачными платформами пользуются Go- и TypeScript-разработчики — с облаком работают 80% из них.

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

2022
2021
47%/48%41%/41%27%/27%27%/24%2%/2%9%/11%

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

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

2021
2020
53%/56%41%/40%20%/21%19%/17%18%/18%9%/8%1%/1%10%/9%

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

Локальная разработка с помощью virtualenv продолжает терять популярность: с 2020 года ее доля сократилась на 7 процентных пунктов. Чаще всего ее используют респонденты, которые занимаются веб-разработкой на Python.

Использование сред удаленной разработки медленно, но верно растет: на 3 процентных пункта по сравнению с 2020 годом. Чаще всего они используются для машинного обучения, сетевого программирования и DevOps.

Инструменты

Операционная система100+

Linux59%Windows58%macOS26%BSD3%Другое1%

По сравнению с прошлым годом популярность macOS и Windows осталась примерно на том же уровне, а вот использование Linux снизилось на 4 процентных пункта.

Системы непрерывной интеграции (CI)100+

35%22%16%6%6%6%3%3%2%2%4%35%

Популярность GitHub Actions продолжает расти: теперь его используют больше трети Python-разработчиков.

В целом использование CI-инструментов также выросло на 4 процентных пункта по сравнению с 2021 годом.

34%

респондентов используют инструменты непрерывного управления. Самым популярным из них оказался Ansible, а 11% опрошенных предпочитают собственные решения.

Инструменты для создания документации100+

39% Python-разработчиков используют инструменты для создания документации. Первое место среди таких инструментов, как и в прошлом году, занимает Sphinx.

Инструменты и функциональность для Python-разработки

Хотя бы иногда
Никогда или почти никогда
87%13%86%14%86%14%86%14%77%23%77%23%77%23%76%24%76%24%66%34%65%35%63%37%54%46%48%52%45%55%используют автодополнение в редактореиспользуют виртуальные окружения Python для своих проектовпроизводят рефакторинг кодаиспользуют системы контроля версийиспользуют линтинг кодапишут тесты для своего кодаиспользуют базы данных SQLиспользуют отладчикиспользуют опциональное указание типовзапускают, отлаживают или редактируют код на удаленной машинеиспользуют инструменты непрерывной интеграциииспользуют баг-трекерыиспользуют инструменты анализа покрытия кодаиспользуют профилировщик Pythonиспользуют базы данных NoSQL

Редакторы

Две самых распространенных IDE для Python-разработки — PyCharm и VS Code: их в общей сложности выбирают две трети респондентов.

Лишь 14% респондентов пользуются только одной IDE или редактором, а подавляющее большинство (61%) используют одновременно 2-3 IDE или редактора. 26% Python-разработчиков выбирают в качестве дополнительной IDE PyCharm, четверть — VS Code.

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

37%29%5%3%3%2%2%2%2%2%2%2%1%1%4%3%

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

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

Data Science
Веб-разработка
40%/44%25%/37%3%/4%2%/2%2%/3%2%/2%2%/3%24%/5%

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

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

114%235%326%414%5+11%

IDE/редакторы, используемые в дополнение к основной IDE/редактору100+

25%23%18%17%14%13%12%9%8%8%6%5%5%5%4%3%2%1%4%14%

Пакеты Python

85%

Python-разработчиков используют инструменты изолирования окружения для разных проектов. 3 самых распространенных инструмента — venv, virtualenv и Conda.

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

43%37%21%16%14%6%3%3%15%

Вы используете в контейнерах виртуальное окружение?

Нет, я не использую в контейнерах виртуальное окружение
Нет, я не использую контейнеры
Да, я использую в контейнерах виртуальное окружение
35%33%32%

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

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

2022
2021
76%/81%29%/32%26%/30%23%/22%18%/23%15%/13%12%/13%11%/11%9%/10%5%/6%2%/0%2%/2%1%/1%2%/2%8%/7%

Трока лидеров не изменилась, но их популярность понемногу снижается. Тем временем доля Poetry выросла на 2 процентных пункта.

Вы используете модуль стандартной библиотеки venv?100+

42%23%13%12%4%1%11%18%

Число тех, кто использует модуль стандартной библиотеки venv, выросло с 2021 года на 5 процентных пунктов.

В каком формате хранится информация о зависимостях приложения?100+

2022
2021
69%/76%33%/26%25%/22%15%/16%11%/11%6%/4%4%/5%4%/3%

Доля использования requirements.txt в качестве хранилища информации о зависимостях приложения снизилась с прошлого года на 7 процентных пунктов.

Одновременно доля pyproject.toml на столько же увеличилась, и теперь его использует треть Python-разработчиков.

Над pyproject.toml шла активная работа, чтобы обеспечить аналогичный набор возможностей, и теперь его напрямую поддерживает pip.

45%

Python-разработчиков используют инструменты для управления версиями зависимостей приложения. Чаще всего для этого используются Poetry, pipenv и pip-инструменты — их доли примерно равны.

30%

Python-разработчиков по-прежнему обновляют версии зависимостей вручную — это на 5 процентных пунктов меньше, чем в прошлом году.

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

poetry30%pipenv28%pip-tools26%Другое4%Нет28%

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

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

73%33%17%16%12%11%11%10%9%9%4%4%1%10%

Доля PyPI снизилась на 7 процентных пунктов, а доли остальных способов установки пакетов остались примерно такими же, как в 2021 году.

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

84%22%15%6%6%3%2%5%
57%

респондентов разрабатывают приложения на Python. Самые популярные инструменты в этой сфере — Setuptools, Wheel, build и Poetry.

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

40%29%21%19%7%3%3%3%2%2%4%25%

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

Хотя больше половины респондентов разрабатывают приложения, лишь 41% из них публиковали эти приложения в репозиториях пакетов.

Где вы публиковали пакеты Python-приложений?100+

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

34%

респондентов уже разрабатывали и публиковали Python-библиотеки. Самые популярные решения здесь — те же, что и в разработке Python-приложений.

74%

тех, кто разрабатывает собственные Python-библиотеки, уже публиковали их, в основном с помощью PyPI или частного Python Package Index.

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

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

2022
2021
59%/71%39%/42%30%/26%24%/20%8%/5%5%/3%4%/1%3%/1%2%/1%2%/1%4%/3%

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

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

Интересно, что доля PyPI по сравнению с прошлым годом сократилась на 9 процентных пунктов, при этом популярность внутренних зеркал PyPI выросла на 5 процентных пунктов.

Демография

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

Работа над проектами

Статус занятости

59%13%7%7%7%5%1%2%

Размер компании

8%11%17%26%8%10%18%3%

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

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

2–767%8–1219%13–207%21–404%Более 403%

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

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

38%7%7%6%4%4%4%
Все результаты

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

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

50%5%3%3%3%3%3%
Все результаты

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

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

65%19%17%15%10%7%6%6%6%5%5%4%13%

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

Возраст

18–209%21–2937%30–3931%40–4913%50–596%60+3%

Опыт программирования на Python

Менее 1 года23%1–2 года20%3–5 лет29%6–10 лет18%11 лет и больше10%

Опыт профессионального программирования

Менее 1 года33%1–2 года19%3–5 лет19%6–10 лет12%11 лет и больше16%

Укажите свою страну или регион

Страны/регионы, которые указали меньше 1% респондентов, объединены в группу «Другое».

19%11%6%4%4%4%4%3%2%2%2%2%
Все результаты

Исходные данные и методология

Хотите проанализировать данные самостоятельно? Скачайте обезличенные результаты опроса и найдите нужные вам сведения. Делитесь своими открытиями и мыслями в Twitter с хештегом #pythondevsurvey. Не забудьте упомянуть @jetbrains и @ThePSF.

Прежде чем анализировать данные самостоятельно, обратите внимание:

Набор данных включает в себя только ответы, полученные через официальные каналы Python Software Foundation. После того как мы исключили дубликаты и ненадежные ответы, в наборе данных осталось более 23 000 ответов, собранных в октябре-декабре 2022 года за счет продвижения опроса на сайте python.org и в блоге PSF, через официальные рассылки Python и связанные с Python сабреддиты, а также на страницах PSF в Twitter и LinkedIn. Чтобы избежать искажения результатов в пользу определенного инструмента или технологии, для сбора ответов не использовались каналы, связанные с какими-либо продуктами, сервисами и поставщиками.

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

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

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

Любой из следующих факторов:

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

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

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

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

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

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

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

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

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

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

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