[about] [index] [prev] [2021-10-13 21:35:51+03:00] [587711a01f7226bc45fa1a59177e5dccb3f61310]
Topics: [hate]

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).

[leave comment]