Григорий Петров / Управление зависимостями в Python: история боли

 

Подписывайтесь на наш канал здесь и в телеграмм
, чтобы быть в курсе будущих митапов и не пропускать полезные доклады! Григорий Петров - DevRel Evrone «Я начал мечтать об этом докладе десять лет назад, когда кроме простого и приятного написания Python-кода приходилось разбираться с непростыми и непонятными distutils, setuptools, distribute, pip и особенно setup.py для собственных библиотек. Или правильно говорить packages? Но ведь в документации написано, что package — это всего лишь директория. А что тогда мы ставим с помощью pip, easy_install или запуском setup.py? Eggs? Wheels? Distributions?» «Обилие конфликтующих терминов, несколько десятков решений для работы с зависимостями и постоянные проблемы огорчают как новых, так и опытных Python-разработчиков. Это рассказ о том, почему все сложилось так, как сложилось (спойлер — никакого злого умысла) и что нужно делать Python-разработчику с зависимостями в 2021 году, чтобы не было мучительно больно. То есть больно все равно будет, но мы хотя бы будем знать почему». Интервью с Кеннетом Рейцем, автором pipenv и requests:
00:00 - Введение 01:40 - Что сейчас будет? 02:30 - Наш код работает не в вакууме 03:58 - За окружением нужно следить 04:12 - Труднее всего следить за чужим кодом 04:30 - Чужой код раньше 08:09 - Появление PyPI 08:50 - 3 уровня работы с зависимостями 10:16 - Язык редко определяет “packaging” 11:37 - Какая экосистема сложилась у Python? 12:37 - Выводы по сложившейся экосистеме Python 13:21 - Пайтон не может в две версии зависимости 14:17 - Мы очень много хотим от зависимостей 17:47 - Появление setuptools 19:39 - virtualenv 20:14 - 2008 год: pip 23:06 - Потом пришел Kenneth Reitz: pipenv 25:58 - Выводы