TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
айти канал

20 May, 17:37

Открыть в Telegram Поделиться Пожаловаться

🧚 Pixi — современный менеджер пакетов и проектов из мира Conda 🧚

Сегодня расскажу про Pixi — более функциональный аналог uv из экосистемы Conda. Несмотря на то, что в Python проектах я использую только uv (и вам рекомендую), я также активно использую Pixi, но для других задач.

TL;DR

• Сегодня в мире Conda нужно использовать Pixi, а не Conda/Mamba/Micromamba.
• Команда pixi global служит sudo-free альтернативой apt на Linux с легким переносом глобального окружения между машинами.
• Команда pixi exec служит для одноразовых запусков инструментов без их установки (в духе uvx).

Кратко о Conda

Conda — это инструмент для управления пакетами, зависимостями и виртуальными средами. Сильно упрощая, это как PyPI+pip+virtualenv в Python, но без привязки к конкретному языку. Conda пакеты устанавливаются из так называемых "каналов". Самый большой публичный канал называется conda-forge, и в нем есть все от консольных утилит (Git, uv, neovim, etc.) до Python и C++ библиотек.

Кратко о Pixi

Сегодня при работе с экосистемой Conda нужно использовать Pixi, а не Conda/Mamba/Micromamba. Pixi оперирует теми же самыми базовыми сущностями (Conda среды, Conda каналы, Conda пакеты), но более надежно, воспроизводимо и удобно. Упрощая, Pixi в мире Conda — это как uv в мире Python, но с дополнительными возможностями.

Pixi как альтернатива apt на Linux

На Linux я активно использую команду pixi global как sudo-free альтернативу apt для установки глобальных инструментов: git, uv, python, и т.д. Например:


pixi global install python

python --version


Все установленные пакеты записываются в человекочитаемый файл, поэтому глобальные инструменты легко переносить между машинами, просто копируя этот файл:


cat $HOME/.pixi/manifests/pixi-global.toml


В теории это все применимо и к macOS, но я использую Homebrew.

Pixi для одноразовых запусков программ без их установки

Еще я использую команду pixi exec для одноразовых запусков программ с любыми зависимостями без их установки. Скажем, запустить питон, никуда его не устанавливая:


pixi exec python --version


Или его конкретную версию с какими-то зависимостями:


pixi exec -s "python=3.14.3" -s numpy python -c "import numpy"


Под капотом Pixi просто создает временную Conda среду, устанавливает туда нужные зависимости, исполняет вашу команду, и удаляет среду.

Pixi для разработки Python проектов

Также Pixi можно использовать для разработки Python проектов. В отличие от Conda, Pixi нативно поддерживает pyproject.toml и PyPI зависимости (особенности остаются, но ситуация гораздо лучше, чем с Conda). Как общий менеджер проектов Pixi умеет больше, чем uv:

• Можно использовать как task runner (замена make / just / etc.).
• Можно иметь несколько окружений сразу, например: prod, test и dev.
• Легче работать с зависимостями, содержащими C/C++/Rust/CUDA расширения.
• Воспроизводимость не только Python виртуальной среды, но и всех (CLI) инструментов, используемых в проекте.
• etc.

Но Python-specific функций у uv все же побольше.

Pixi для разработки не-Python проектов

В теории так тоже можно, особенно если проект содержит код на Python и, например, на C/C++. Я слышал про такие сценарии в областях типа Data Science или Robotics, но на практике не сталкивался.

Ограничения

• В более популярных экосистемах (PyPI, Homebrew) многие баги уже найдены очень большой аудиторией. В мире Conda аудитория тоже немаленькая, но иногда эти находки придется делать вам.
• В канале conda-forge много пакетов, но Python пакетов все же больше в PyPI, а общих инструментов все же больше в Homebrew.
• Проекты в канале conda-forge часто добавляются и поддерживаются энтузиастами, а не оригинальными авторами проектов. Наверное, говорю это из соображений security.

Полезные ссылки

• Экосистема Conda
• Переход с Conda на Pixi
• Поддержка PyPI пакетов
• Поддержка pyproject.toml

888 1 14 7 16
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot