pip поддержку предсобранных пакетов (wheel) для Alpine Linux. Наконец-то можно будет устанавливать в ваши Docker-контейнеры psycopg2, numpy, cryptography и другие библиотеки с кодом на C без головной боли!https://discuss.python.org/t/pre-pep-platform-tag-for-linux-distributions-using-musl/7165
Разъяснение. Многие пакеты для Python содержат код, написанный на компилируемых языках — C/C++, Rust, Fortran (да, например,
scipy, и наверняка многие другие математические штуки), и т.д. Само собой, чтобы с такими пакетами работать, их необходимо собирать/компилировать, а значит нужен весь тулчейн для сборки определенного языка на компьютере, куда вы собираетесь просто установить какой-то пакет через pip. Это было очень неудобно, и в какой-то момент люди придумали собирать пакеты один раз и распространять уже в собранном виде в специальном формате, который называется wheel, чтобы не утруждать рядовых пользователей установкой компиляторов фортранов — мейнтейнер пакета собирает его для всех популярных платформ, загружает это всё на PyPI, люди устанавливают, пользуются и радуются. Проблема с Alpine в том, что этот дистрибутив из-за некоторых своих особенностей (использование musl вместо glibc в качестве стандартной библиотеки языка С) не совместим с форматом manylinux и для него невозможно собирать и распространять колёса (wheel). Но Alpine Linux очень популярен и часто используется в контейнеризованных приложениях, так что для него будет создан отдельный формат musllinux и обеспечена поддержка в pip. Сейчас для установки в контейнер зависимостей с нативным кодом приходится устанавливать тулчейн для сборки, что делает процесс сложным и медленным. Когда будет поддержка wheel-пакетов и разработчики начнут их публиковать для Alpine, собирать компактные Docker-контейнеры станет совсем просто 😊