JetBrains в сотрудничестве с Python Software Foundation в шестой раз провели ежегодный опрос Python-разработчиков. В октябре-декабре 2022 года более 23 000 разработчиков и поклонников Python из почти 200 стран и регионов приняли участие в исследовании и помогли нам определить текущее состояние языка и связанной с ним экосистемы.
86% Python-разработчиков используют помимо Python и другие языки. Чаще всего это JavaScript, HTML/CSS и SQL.
Статистика по веб-разработке основана на ответах респондентов, которые выбрали веб-разработку, отвечая на вопрос «С какой целью вы используете Python чаще всего?».Соответственно, Data Science относится к тем, кто в ответе на тот же вопрос, выбрал анализ данных или машинное обучение.
Вполне ожидаемо у веб-разработчиков наибольшей популярностью пользуются JavaScript и HTML/CSS, а специалисты по Data Sciene предпочитают SQL.
Мы спрашивали, с какой целью люди используют Python, какими видами разработки они занимаются и как совмещают разные варианты применения языка.
Каждый пятый респондент использует Python только для рабочих проектов, а чуть больше половины — и для личных проектов тоже.
Те, для кого Python — основной язык, чаще всего используют его для веб-разработки (23%).
В качество второстепенного языка Python чаще всего используют для анализа данных (16%) и DevOps (14%), а веб-разработка остается на третьем месте (13%).
На вопрос отвечали только те, кто занимается анализом данных и машинным обучением.
Около трети Python-разработчиков, занимающихся анализом данных и машинным обучением, считают себя специалистами по Data Science.
Более 90% респондентов используют Python 3, поэтому можно сказать, что эта версия
уже стала общепринятой.
Доля пользователей Python 2 в последние три года остается неизменной и не превышает 7%. Тем не менее кое-кто еще использует версию 2 для анализа данных (29%), компьютерной графики (24%) и DevOps (23%).
Обратите внимание, что опрос проводился с 14 октября по 14 ноября 2022 года, а Python 3.11 вышел только 24 октября 2022 года.
Python-разработчиков ответили, что не обновляют версию Python, а 6% сообщили, что обновлениями занимается другой человек.
респондентов, использующих Windows, скачивают Python с python.org, а пользователи macOS и Linux чаще всего используют пакеты, предоставляемые операционной системой, Python.org, Docker-контейнеры и pyenv.
Enthought выбрали менее 0,5% респондентов, поэтому он был включен в «Другое».
Poetry постепенно набирает популярность в качестве инструмента для изоляции окружения Python. С 2020 года он прибавил 6 процентных пунктов. Инструмент выглядит перспективно, и некоторые его возможности уже были реализованы в базовых средствах Python.
Среди веб-фреймворков для Python по-прежнему с большим отрывом лидируют Flask, Django и FastAPI.
Все остальные, вместе взятые, едва опережают обладателя третьего места. FastAPI за год прибавил 4 процентных пункта — теперь его использует каждый четвертый Python-разработчик.
Подробнее об использовании Django можно узнать из результатов опроса Django-разработчиков, который мы провели совместно с Django Software Foundation в 2022 году.
Хотя тройка лидеров за год не изменилась, Requests уступил httpx 4 процентных пункта.
В крупных компаниях чаще выполняют юнит-тестирование в Python-проетках и шире используют pytest и mock, чем в небольших компаниях.
MS SQL Server и Oracle Database вдвое популярнее у специалистов по Data Science, чем у веб-разработчиков, а вот большинство других баз данных веб-разработчики используют чаще.
31% Python-разработчиков используют инструменты для работы с большими данными — это на 6 процентных пунктов больше, чем в 2021 году. Среди специалистов по Data Science их целых 42%.
Python-разработчиков используют облачные платформы — на 5 процентных пунктов больше, чем в прошлом году.
На вопрос отвечали только те, кто пользуется облачными платформами.
Африканские Python-разработчики чаще всего (39%) используют облачную платформу Heroku. Использование других языков также влияет на выбор платформы.
Как и следовало ожидать, пользователи C# используют Microsoft Azure почти так же часто, как AWS. Активнее всех облачными платформами пользуются Go- и TypeScript-разработчики — с облаком работают 80% из них.
На вопрос отвечали только те, кто пользуется облачными платформами.
На вопрос отвечали только те, кто пользуется облачными платформами.
Локальная разработка с помощью virtualenv продолжает терять популярность: с 2020 года ее доля сократилась на 7 процентных пунктов. Чаще всего ее используют респонденты, которые занимаются веб-разработкой на Python.
Использование сред удаленной разработки медленно, но верно растет: на 3 процентных пункта по сравнению с 2020 годом. Чаще всего они используются для машинного обучения, сетевого программирования и DevOps.
По сравнению с прошлым годом популярность macOS и Windows осталась примерно на том же уровне, а вот использование Linux снизилось на 4 процентных пункта.
Популярность GitHub Actions продолжает расти: теперь его используют больше трети Python-разработчиков.
В целом использование CI-инструментов также выросло на 4 процентных пункта по сравнению с 2021 годом.
респондентов используют инструменты непрерывного управления. Самым популярным из них оказался Ansible, а 11% опрошенных предпочитают собственные решения.
39% Python-разработчиков используют инструменты для создания документации. Первое место среди таких инструментов, как и в прошлом году, занимает Sphinx.
Две самых распространенных IDE для Python-разработки — PyCharm и VS Code: их в общей сложности выбирают две трети респондентов.
Лишь 14% респондентов пользуются только одной IDE или редактором, а подавляющее большинство (61%) используют одновременно 2-3 IDE или редактора. 26% Python-разработчиков выбирают в качестве дополнительной IDE PyCharm, четверть — VS Code.
Чтобы определить, какие IDE и редакторы наиболее популярны, мы задали вопрос, в котором можно было выбрать только один вариант ответа.
Статистика по веб-разработке основана на ответах респондентов, которые выбрали веб-разработку, отвечая на вопрос «С какой целью вы используете Python чаще всего?».Соответственно, Data Science относится к тем, кто в ответе на тот же вопрос, выбрал анализ данных или машинное обучение.
Python-разработчиков используют инструменты изолирования окружения для разных проектов. 3 самых распространенных инструмента — venv, virtualenv и Conda.
С прошлого года число разработчиков, использующих виртуальные среды в контейнерах, выросло на 5 процентных пунктов.
Трока лидеров не изменилась, но их популярность понемногу снижается. Тем временем доля Poetry выросла на 2 процентных пункта.
Число тех, кто использует модуль стандартной библиотеки venv, выросло с 2021 года на 5 процентных пунктов.
Доля использования requirements.txt в качестве хранилища информации о зависимостях приложения снизилась с прошлого года на 7 процентных пунктов.
Одновременно доля pyproject.toml на столько же увеличилась, и теперь его использует треть Python-разработчиков.
Над pyproject.toml шла активная работа, чтобы обеспечить аналогичный набор возможностей, и теперь его напрямую поддерживает pip.
Python-разработчиков используют инструменты для управления версиями зависимостей приложения. Чаще всего для этого используются Poetry, pipenv и pip-инструменты — их доли примерно равны.
Python-разработчиков по-прежнему обновляют версии зависимостей вручную — это на 5 процентных пунктов меньше, чем в прошлом году.
На вопрос отвечали только те, кто использует инструменты для управления точными версиями зависимостей приложения.
Доля PyPI снизилась на 7 процентных пунктов, а доли остальных способов установки пакетов остались примерно такими же, как в 2021 году.
респондентов разрабатывают приложения на Python. Самые популярные инструменты в этой сфере — Setuptools, Wheel, build и Poetry.
На вопрос отвечали только те, кто разрабатывает приложения.
Хотя больше половины респондентов разрабатывают приложения, лишь 41% из них публиковали эти приложения в репозиториях пакетов.
На вопрос отвечали только те, кто публиковал пакеты Python-приложений.
респондентов уже разрабатывали и публиковали Python-библиотеки. Самые популярные решения здесь — те же, что и в разработке Python-приложений.
тех, кто разрабатывает собственные Python-библиотеки, уже публиковали их, в основном с помощью PyPI или частного Python Package Index.
На вопрос отвечали только те, кто разрабатывает Python-библиотеки.
На вопрос отвечали только те, кто публиковал пакеты Python-библиотек.
Интересно, что доля PyPI по сравнению с прошлым годом сократилась на 9 процентных пунктов, при этом популярность внутренних зеркал PyPI выросла на 5 процентных пунктов.
На вопрос отвечали только те, кто работает в штате.
На вопрос отвечали только те, кто работает в штате.
На вопрос отвечали только те, кто работает в штате.
На вопрос отвечали только те, кто работает в штате.
На этот вопрос отвечали только те, кто работает.
Страны/регионы, которые указали меньше 1% респондентов, объединены в группу «Другое».
Хотите проанализировать данные самостоятельно? Скачайте обезличенные результаты опроса и найдите нужные вам сведения. Делитесь своими открытиями и мыслями в Twitter с хештегом #pythondevsurvey. Не забудьте упомянуть @jetbrains и @ThePSF.
Набор данных включает в себя только ответы, полученные через официальные каналы Python Software Foundation. После того как мы исключили дубликаты и ненадежные ответы, в наборе данных осталось более 23 000 ответов, собранных в октябре-декабре 2022 года за счет продвижения опроса на сайте python.org и в блоге PSF, через официальные рассылки Python и связанные с Python сабреддиты, а также на страницах PSF в Twitter и LinkedIn. Чтобы избежать искажения результатов в пользу определенного инструмента или технологии, для сбора ответов не использовались каналы, связанные с какими-либо продуктами, сервисами и поставщиками.
Данные полностью анонимны и не содержат персональной информации о респондентах и об их местонахождении. Чтобы исключить вероятность идентификации респондентов по их комментариям, мы удалили все ответы на открытые вопросы.
Чтобы вам было проще понять логику опроса, мы делимся набором данных, вопросами и всей логикой анкеты. Мы использовали разные способы упорядочивания вариантов ответов (алфавитный, случайный и прямой). Порядок ответов указан для каждого вопроса.
Любой из следующих факторов:
Сочетание по крайней мере двух из следующих факторов:
JetBrains и Python Software Foundation благодарят всех, кто участвовал в опросе. Вы помогли нам составить актуальное представление об экосистеме Python.
Поддержите Python Software Foundation. PSF — некоммерческая организация, существующая исключительно на средства, внесенные ее членами, спонсорами и сообществом.
Надеемся, наш отчет был вам полезен. Поделитесь результатами исследования с друзьями и коллегами.
Если у вас есть вопросы об этом исследовании или предложения для новых опросов, напишите нам по адресу surveys@jetbrains.com или psf@python.org.