Repolode
pyenv

pyenv/pyenv

CLI-инструмент для установки нескольких версий Python и переключения между ними глобально, для проекта или текущей сессии shell.

Звёзды
45,181
Форки
3,273
Открытые issues
49
Последний коммит
позавчера

Что это?

pyenv управляет несколькими установками интерпретатора Python на одном компьютере. Можно задать версию по умолчанию для своей учётной записи, закрепить версию за каталогом проекта с помощью файла .python-version или переопределить её для текущей сессии shell с помощью переменной окружения.

Инструмент добавляет в начало PATH каталог с исполняемыми файлами shim. Когда вы запускаете python, pip или другую команду Python, shim запрашивает у pyenv подходящую версию и передаёт вызов соответствующей установке. Версии устанавливаются командой pyenv install: она собирает CPython и другие дистрибутивы, например PyPy, из исходного кода. Можно запускать несколько версий одновременно, чтобы такие инструменты, как tox, могли проверять код на каждой из них.

pyenv написан на чистых shell-скриптах и не требует предварительной установки Python. Сам он не управляет виртуальными окружениями — для этого проект рекомендует pyenv-virtualenv или обычный virtualenv.

Ключевые возможности

  • 01Задавать версии Python глобально, для отдельного каталога или текущей сессии shell.
  • 02Устанавливать несколько дистрибутивов CPython, PyPy и других с помощью pyenv install.
  • 03Использовать shims в PATH: для базовой работы не нужно загружать функции shell.
  • 04Запускать несколько версий Python одновременно с поиском по цепочке резервных вариантов.
  • 05Расширять функциональность с помощью системы плагинов.

Сценарии использования

  • Закрепить за проектом старую версию Python, продолжая использовать более новую в других проектах.
  • Проверять библиотеку на нескольких версиях Python с помощью tox.
  • Устанавливать и переключать версии Python на рабочей станции разработчика, не затрагивая системный Python.

Быстрый старт

  1. 1

    Установите pyenv с помощью Homebrew (macOS)

    brew install pyenv
  2. 2

    Добавьте код настройки pyenv в файлы запуска оболочки

    pyenv init --install
  3. 3

    Перезапустите оболочку, чтобы изменения PATH вступили в силу

    exec "$SHELL"
  4. 4

    Установите версию Python, например 3.10.4

    pyenv install 3.10.4

Что важно знать

  • Windows официально не поддерживается за пределами WSL; пользователям Windows предлагается форк pyenv-win.
  • Большинство версий Python собираются из исходного кода, поэтому сначала необходимо установить зависимости для сборки.

В подборках

Темы

Частые вопросы

Что такое pyenv?
CLI-инструмент для установки нескольких версий Python и переключения между ними глобально, для проекта или текущей сессии shell. pyenv управляет несколькими установками интерпретатора Python на одном компьютере. Можно задать версию по умолчанию для своей учётной записи, закрепить версию за каталогом проекта с помощью файла .python-version или переопределить её для текущей сессии shell с помощью переменной окружения.
pyenv можно использовать бесплатно? Какая у него лицензия?
pyenv распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
pyenv всё ещё поддерживается?
Активно поддерживается. Последний коммит в pyenv — 5 нояб. 2026 г..
Для чего можно использовать pyenv?
Закрепить за проектом старую версию Python, продолжая использовать более новую в других проектах. Проверять библиотеку на нескольких версиях Python с помощью tox. Устанавливать и переключать версии Python на рабочей станции разработчика, не затрагивая системный Python.
Как установить pyenv?
Установите pyenv с помощью Homebrew (macOS): brew install pyenv Добавьте код настройки pyenv в файлы запуска оболочки: pyenv init --install Перезапустите оболочку, чтобы изменения PATH вступили в силу: exec "$SHELL" Установите версию Python, например 3.10.4: pyenv install 3.10.4
Где скачать pyenv?
Исходный код и инструкции по установке — на GitHub: https://github.com/pyenv/pyenv

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты