From: Sergey Matveev Date: Wed, 13 Oct 2021 18:35:51 +0000 (+0300) Subject: Python система пакетов -- неработающее дерьмо X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=587711a01f7226bc45fa1a59177e5dccb3f61310;p=stargrave-blog.git Python система пакетов -- неработающее дерьмо Вчера хотел установить какую-то утилиту для работы с WARC файлами. Собранным из исходников Py36, создаю virtualenv, и в нём делаю pip install. Всё "заканчивается" тем, что процесс установки уходит в полубесконечный цикл: по несколько десятков раз качаются (в логе GoCheese вижу) всякие пакеты типа setuptools, wheel, tomli, затем, видимо что-то падает, понижается минорная версия одного из пакета и снова процесс многократного скачивания пакета. Час убил на установку некоторых зависимостей чисто в ручном режиме. Что-то куда-то скопировать, подправить setup.py/pyproject, но дальше терпение лопнуло. В Py36+PyPI+самые свежие pip/setuptools просто *невозможно* установить cdxj-indexer, который на момент "Downloading ... tldextract-3.1.2.tar.gz" делает вот такое с PyPI репозиторием: [...] main.go:82: [::1]:10294 get setuptools_scm-6.3.2.tar.gz main.go:82: [::1]:44433 get setuptools-58.2.0.tar.gz main.go:82: [::1]:34279 get wheel-0.37.0.tar.gz main.go:82: [::1]:44433 get wheel-0.37.0.tar.gz main.go:82: [::1]:44433 get tomli-1.2.1.tar.gz main.go:82: [::1]:16311 get flit_core-3.4.0.tar.gz main.go:82: [::1]:16311 get tomli-1.2.1.tar.gz main.go:82: [::1]:44433 get tomli-1.2.0.tar.gz main.go:82: [::1]:21041 get flit_core-3.4.0.tar.gz main.go:82: [::1]:21041 get tomli-1.2.1.tar.gz main.go:82: [::1]:44433 get tomli-1.1.0.tar.gz main.go:82: [::1]:60575 get flit_core-3.4.0.tar.gz main.go:82: [::1]:60575 get tomli-1.2.1.tar.gz main.go:82: [::1]:44433 get tomli-1.0.4.tar.gz main.go:82: [::1]:48698 get flit_core-3.4.0.tar.gz main.go:82: [::1]:48698 get tomli-1.2.1.tar.gz main.go:82: [::1]:44433 get tomli-1.0.3.tar.gz main.go:82: [::1]:52645 get flit_core-3.4.0.tar.gz main.go:82: [::1]:52645 get tomli-1.2.1.tar.gz main.go:82: [::1]:44433 get tomli-1.0.2.tar.gz main.go:82: [::1]:36476 get flit_core-3.4.0.tar.gz main.go:82: [::1]:36476 get tomli-1.2.1.tar.gz main.go:82: [::1]:44433 get tomli-1.0.1.tar.gz main.go:82: [::1]:32461 get poetry-core-1.0.7.tar.gz main.go:82: [::1]:32461 get importlib_metadata-1.7.0.tar.gz main.go:82: [::1]:25283 get setuptools-58.2.0.tar.gz main.go:82: [::1]:21853 get wheel-0.37.0.tar.gz main.go:82: [::1]:25283 get wheel-0.37.0.tar.gz main.go:82: [::1]:25283 get setuptools_scm-6.3.2.tar.gz main.go:82: [::1]:32461 get poetry-core-1.0.6.tar.gz main.go:82: [::1]:32461 get poetry-core-1.0.5.tar.gz main.go:82: [::1]:32461 get poetry-core-1.0.4.tar.gz main.go:82: [::1]:32461 get poetry-core-1.0.3.tar.gz main.go:82: [::1]:32461 get poetry-core-1.0.2.tar.gz main.go:82: [::1]:32461 get poetry-core-1.0.1.tar.gz main.go:82: [::1]:32461 get poetry-core-1.0.0.tar.gz main.go:82: [::1]:44433 get tomli-1.0.0.tar.gz [...] Детали уже забыл, но вроде всё сводилось к тому, что tomli не может поставить (зависимость) какой-то пакет, который требует этот tomli. Легко установить tomli тоже по старинке уже нельзя, ибо в нём нет setup.py. В общем, это кирдык. За последние месяцы, 7 из 10 попыток что-то установить через pip заканчиваются падениями и невозможностями продолжить (3f45e46b68805f7ae14bfde0032603dda8b79538). Хотя год назад всякие WARC-related утилиты ставились точно. Единственное что у меня точно может влиять из настроек: no-binary = :all:. Уже как-то был случай что пакет в этом режиме вообще не имел никаких альтернатив для установки. Выходит сейчас без бинарей нельзя использовать всю эту экосистему? Вовремя ж я всё таки избавился от Python (b708ac5077078a699b14fcb86a8c2413266a903f). ---