Добавить в корзинуПозвонить
Найти в Дзене

Работа с pyenv в Windows

pyenv - это удобный инструмент, который дает возможность устанавливать несколько версий Python в Windows и управлять ими - устанавливать дополнительные или переключаться между ними. На мой взгляд это очень удобный инструмент для разработчиков на Python. Изначально pyenv был сделан только под Linux и MacOS, но позже он появился и под Windows. Официальный репозиторий здесь. Пользоваться достаточно просто. Установите pyenv-win в Windows. Для этого выполните команду в PowerShell : Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1" Установка займет где-то секунд 30-60. После Перезапустите PowerShell Проверьте версию установленного pyenv командой: pyenv --version Если консоль выдаст версию, например pyenv 3.1.1 или выше, значит установка прошла успешно. Посмотрите список доступных к установке версий Python командой: pyenv install -l Появится спис
Оглавление

pyenv - это удобный инструмент, который дает возможность устанавливать несколько версий Python в Windows и управлять ими - устанавливать дополнительные или переключаться между ними. На мой взгляд это очень удобный инструмент для разработчиков на Python.

Изначально pyenv был сделан только под Linux и MacOS, но позже он появился и под Windows. Официальный репозиторий здесь.

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

Пользоваться достаточно просто.

Установите pyenv-win в Windows. Для этого выполните команду в PowerShell :

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

Установка займет где-то секунд 30-60. После

Перезапустите PowerShell

Проверьте версию установленного pyenv командой:

pyenv --version

Если консоль выдаст версию, например pyenv 3.1.1 или выше, значит установка прошла успешно.

Пример вывода в консоли.
Пример вывода в консоли.

Посмотрите список доступных к установке версий Python командой:

pyenv install -l

Появится список, достаточно большой.

Пример списка
Пример списка

Как выбрать?

Есть стабильные версии, они указаны так: 3.14.4 - обычная 64-битная версия (скорее всего ваш вариант). Есть версии с приставкой: 3.15.0al - это льфа-версии, которые еще на стадии тестирования (могут быть баги и нестабильная работа).

На сайте Python также указывают последнюю стабильную версию
На сайте Python также указывают последнюю стабильную версию

Если у вас обычный компьютер с процессорами Intel или AMD, выбирайте стабильную версию без приставок. На момент написания статьи, последняя стабильная версия 3.14.4. Если у вас старый компьютер c 32-бит системой - выбирайте 3.14.4-win32. Для обладателей компьютеров на процессоре ARM выбор очевиден - 3.14.4-arm.

5. Запустите установите выбранной версии командой:

pyenv install 3.14.4
Пример запуска и завершения установки
Пример запуска и завершения установки

Python 3.14.4 установлен в указанную папку.

Если попробовать проверить версию командой:

pyenv version

Получим следующее:

No global/local python version has been set yet. Please set the global/local version by typing:
pyenv global <python-version>
pyenv global 3.7.4
pyenv local <python-version>
pyenv local 3.7.4

pyenv говорит нам о том, что пока не задана глобальная или локальная версия Python и предлагает это сделать.

Важно:

Глобальная версия - это версия для всего компьютера. В любой папке где вы будете запускать скрипты, будут запускаться с указанной вами глобальной версией Python.

Локальная версия - это версия для указанной вами папки и её подпапок. Это удобно, когда у вас проекты на разных версиях Python и нужно указать для каждой папки проекта свою, локальную версию Python.

Как задать глобальную версию?

pyenv global 3.14.4
-6

Теперь при проверке версии указана глобальная версия 3.14.4. Мы можем перейти в другую папку и снова проверить версию, убедившись, что она действительно задана глобально. Я перешел в папку моего юзера:

-7

Как задать локальную версию?

Для наглядности я установлю предыдущую версию Python 3.14.3 и задам для тестовой папки локальную версию 3.14.3.

-8

Кстати, проверить список установленных версий можно командой:

pyenv versions

Будет отображен список всех установленных вами версий Python с помощью pyenv.

Создам папку test, проверю её версию до установки локальной версии Python и после установки.

-9

Видим, что версия 3.14.3. Теперь проверим соседнюю папку.

-10

Видим, что в соседней папке другая, глобальная версия.

Все команды pyenv

  • commands - показать список всех доступных команд pyenv
  • local - задать или показать версию Python для текущей папки
  • latest - показать самую свежую установленную или доступную версию по префиксу (3.14 > 3.14.4)
  • global - задать или показать глобальную версию Python (всей системы)
  • shell - задать или показать версию Python только для текущего окна терминала (до его закрытия)
  • install - установить версию Python (кстати, можно указать через запятую)
  • uninstall - удалить одну или несколько версий Python (тоже через запятую)
  • update - обновить локальный список доступных для установки версий (кэш)
  • rehash - пересоздать ярлыки pyenv (нужно запускать после установки/смены версий Python)
  • vname - показать номер текущей, активной версии Python
  • version - показать текущую версию Python и откуда она взялась (global или local, либо сессия shell)
  • version-name - показать номер текущей активной версии Python (то же, что vname)
  • versions - показать список всех версий Python, установленных через pyenv
  • exec - запустить программу, подставив в PATH путь к выбранной версии Python
  • which - показать полный путь до исполняемого файла (например, где лежит python или pip)
  • whence - показать, в каких установленных версиях Python есть указанная программа
Спасибо, если дочитали статью до конца. Буду благодарен, если вы предложите в комментариях исправления или улучшения для статьи.