
PyOffline2: простой офлайн-менеджер для Python-пакетов без лишней головной боли
Mike2024New 6 минут назад PyOffline2: простой офлайн-менеджер для Python-пакетов без лишней головной боли Средний 4 мин 87 Python * Open source * Туториал Из песочницы Переносимый офлайн-менеджер Python-пакетовЯ написал...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. Mike2024New 6 минут назад PyOffline2: простой офлайн-менеджер для Python-пакетов без лишней головной боли Средний 4 мин 87 Python * Open source * Туториал Из песочницы Переносимый офлайн-менеджер Python-пакетовЯ написал CLI-утилиту, которая решает сразу несколько задач. Она позволяет создать локальный архив с портативными версиями Python и любыми пакетами из PyPI. А затем — мгновенно разворачивать проекты без единого запроса в интернет.
Также утилита работает из коробки, не требуя сложной настройки серверов — то есть ровно то, что нужно хобби-разработчикам, новичкам и небольшим командам. Хочу поделиться ей здесь, так как думаю, что она может быть полезна кому-то ещё кроме меня. В конце статьи есть gif с демонстрацией приложения.
Технические детали
СодержаниеО проектеЧто умеетЦелевая аудиторияКак это устроеноБыстрый стартГде хранить архивИтогдополнительно + gif анимацияЗачем я это сделал (и почему это полезно прямо сейчас)Идея родилась из личного опыта. Как разработчик, я часто сталкиваюсь с ситуациями, когда интернет недоступен или работает плохо:Поездка за город, где связь ловится через раз. Работа в коворкинге или кафе с перегруженным Wi-Fi.
Необходимость быстро развернуть проект на новой машине, где нет доступа к сети. Просто желание держать под рукой “слепок” окружения для версионности. Существующие решения для офлайн-работы с Python-пакетами (devpi, bandersnatch) требуют настройки целого сервера.
Это как стрелять из пушки по воробьям. Мне нужен был простой инструмент, который работает как обычная CLI-утилита, имеет uv подобный интерфейс и работает полностью оффлайн (с предварительно загруженными ресурсами). Так родился PyOffline2 — «чемоданчик с инструментами» для Python-разработки.
Отраслевые последствия
Стоит упомянуть и возможный “страховочный” сценарий. Этот инструмент может пригодиться не только в поездках, но и в случае, если доступ к зарубежным ресурсам (включая PyPI) станет нестабильным или проблематичным. Это не основной сценарий, и я не драматизирую его, но как дополнительный аргумент — почему бы и нет.
Ведь люди покупают страховки, хотя не собираются становиться объектами страховых случаев. Что умеет проектСкачивать Python — портативные сборки с python-build-standalone через getpybs (команда get-python)Создавать виртуальные окружения на целевой машине: init -pv 3. 12Скачивать пакеты с PyPI и распределять их по версиям Python: get fastapi uvicorn или get-from requirements.
txtУстанавливать пакеты в целевой проект add fastapi uvicorn или add passlib (работает с pyproject. toml)Обновлять уже скачанные пакеты update а если добавить флаг keep, то старые версии будут удаляться, останется только указанное число последних версий не раздувая архив. Удалять пакеты из целевого проекта с очисткой зависимостей-сирот — аналог uv remove, только полностью офлайн.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





