Как установить несколько версий Python в WSL2 и управлять ими

Открываем PowerShell

PowerShell  —  это командная оболочка и объектно-ориентированный язык сценариев, который используется для настройки системных параметров и автоматизации задач администрирования. В операционной системе практически все автоматизируется с помощью этой оболочки. Кроме того, она заменила собой командную строку и стала стандартной системной оболочкой для Windows 10.

  1. Нажимаем на ⊞ Windows.
  2. Вводим в строке поиска PowerShell.
  3. Нажимаем на Run as Administrator («Запуск от имени администратора»).

Открываем WSL2

Подсистема Windows для Linux 2 (WSL2)  —  это функциональная особенность Windows 10, позволяющая пользователям запускать Linux на Windows без использования многовариантной загрузки или виртуальной машины. Она имеет полный доступ к файловым системам, поддержке графических процессоров и сетевых приложений. А кроме того, предоставляет доступ к тысячам инструментов командной строки Linux.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
wsl

Проверяем версию по умолчанию

Для проверки того, какая версия Python выбрана в настоящий момент в качестве версии по умолчанию, используется параметр Version (V). Он состоит из трех разделенных точками чисел, которые обозначают номер версии major (старшая версия), minor (младшая версия) и micro (с мелкими изменениями) соответственно. Здесь также отображается сообщение об ошибке, в случае если Python еще не установлен на компьютере.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
python --version

Проверяем исполняемый файл

Определить местоположение исполняемого файла для указываемого имени команды позволяет команда Which. Она ищет исполняемый файл в списке каталогов, перечисленных в переменной окружения PATH. Кроме того, эта команда показывает абсолютный путь к исполняемому файлу, если таковой существует в одном из каталогов.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
which python

Открываем домашний каталог

Для изменения текущего рабочего каталога на желаемый используется команда Change Directory (cd) («Изменить каталог»). С ее помощью перемещаются к абсолютному и относительному путям, которые начинаются соответственно от корневого и текущего рабочего каталога. Кроме того, она помогает перемещаться к путям, хранящимся в переменных и в переменных окружения.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
cd $HOME

Устанавливаем Git

Git  —  это программа, которая используется для отслеживания изменений, время от времени вносимых в исходный код. Она работает с проектами любых размеров и позволяет сразу нескольким разработчикам и командам вносить изменения в один и тот же репозиторий. А кроме того, она делает возможным восстановление из общей истории репозитория предыдущей версии исходного кода.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
sudo apt-get install --yes git

Клонирование репозитория Pyenv

Pyenv  —  это программа, которая используется для управления версиями Python на macOS и Linux. С ее помощью устанавливаются несколько версий Python, указывается версия, которая задействуется в рамках всей системы, а также версия, применяемая в определенных каталогах. Кроме того, она позволяет создавать виртуальные среды и управлять ими с использованием определенных версий.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

Открываем файл конфигурации Bash

Файл конфигурации Shell  —  это скрипт, который автоматически выполняется при открытии оболочки пользователем. Он содержит код, используемый для изменения внешнего вида оболочки, запуска скриптов и команд, создания псевдонимов и загрузки переменных окружения. А кроме того, он создает отдельный файл конфигурации для различных оболочек.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
notepad ~/.bashrc

Редактируем файл конфигурации Bash

Bourne Again Shell (Bash)  —  это командная оболочка и язык сценариев, который используется для настройки системных параметров и автоматизации задач администрирования. В операционной системе практически все автоматизируется с помощью этой оболочки. Для большинства операционных систем на базе Linux она была и остается оболочкой по умолчанию.

  1. Копируем код из приведенных ниже инструкций.
  2. Вставляем код в Notepad.
  3. Нажимаем на меню File («Файл»).
  4. Нажимаем на Save («Сохранить»).
# переменные окружения Pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

# инициализация Pyenv
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

Перезапуск WSL2

Для выполнения указываемой команды, предоставляемой в качестве аргумента, используется команда Exec(e). Она удаляет текущий процесс и заменяет его указываемой командой без создания нового процесса. А еще команда перезапускает оболочку для перезагрузки файла конфигурации в окружении.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
exec $SHELL

Обновляем список источников и каталог списка источников

Для обеспечения актуальности списка доступных пакетов используется ​команда Update. С ее помощью из репозиториев в системе загружается список пакетов, который содержит информацию о новых и обновляемых пакетах. Команда обновляет только информацию о пакетах, фактически не обновляя сами пакеты.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
sudo apt-get update --yes

Устанавливаем зависимости Pyenv

Зависимость  —  это дополнительный двоичный пакет, необходимый конкретному двоичному пакету для правильной работы. Для создания практически любой программы, распространяемой через диспетчеры пакетов, требуется несколько зависимостей. Некоторые диспетчеры пакетов загружают и устанавливают зависимости автоматически.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
sudo apt-get install --yes libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libgdbm-dev lzma lzma-dev tcl-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev wget curl make build-essential python-openssl

Просматриваем версии Python

Для отображения версий Python, доступных в Pyenv, используется флаг List(l). Сюда относятся финальные версии, выпущенные Python, Anaconda, PyPy, Jython и Stackless, в том числе все major (старшие версии), minor (младшие версии) и micro (версии с мелкими изменениями). Не отображаются альфа-, бета-версии, т. е. предвыпускные версии.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
pyenv install --list

Устанавливаем Python

Python  —  это объектно-ориентированный язык, славящийся простым синтаксисом, удобным для восприятия человека кодом, гибкостью и масштабируемостью. Он используется в основном для разработки веб-приложений и программных продуктов. А кроме того, Python стал одним из самых популярных языков для искусственного интеллекта, машинного обучения и науки о данных.

  1. Находим версию из приведенных ниже инструкций.
  2. Копируем предлагаемую команду.
  3. Вставляем команду в PowerShell.
  4. Нажимаем на Enter («Ввод»).
  5. Повторяем.
Python 3.5:
pyenv install 3.5.4

Python 3.6:
pyenv install 3.6.8

Python 3.7:
pyenv install 3.7.9

Python 3.8:
pyenv install 3.8.6

Python 3.9:
pyenv install 3.9.0

Устанавливаем версию по умолчанию для компьютера

В Pyenv для указания версии Python по умолчанию, принимаемой для всей системы, используется ​команда Global. С ее помощью в каталоге Pyenv создается текстовый файл, в котором хранится указанная версия. Он используется Pyenv для активации версии по умолчанию, но перезаписывается локальным текстовым файлом Pyenv и переменной окружения.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
pyenv global 3.8.6

Создаем временный каталог

Команда Make Directory(mkdir)используется для создания новых каталогов. Она указывает один или несколько относительных или абсолютных путей с именами вновь создаваемых каталогов. А еще эта команда используется с флагом Parents для создания (в случае необходимости) родительских каталогов без перезаписи уже имеющегося пути.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
mkdir temporary

Открываем временный каталог

Для изменения текущего рабочего каталога на желаемый используется команда Change Directory(cd)(«Изменить каталог»). С ее помощью перемещаются к абсолютному и относительному путям, которые начинаются соответственно от корневого и текущего рабочего каталога. Кроме того, она помогает перемещаться к путям, хранящимся в переменных и переменных окружения.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
cd temporary

Устанавливаем версию по умолчанию для ​каталога

В Pyenv для указания версии Python по умолчанию, принимаемой для текущего каталога, используется ​команда Local. С ее помощью в текущем каталоге создается текстовый файл, в котором хранится указанная версия. Файл автоматически обнаруживается Pyenv, который активирует версию Python в текущем каталоге и подкаталогах.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
pyenv local 3.6.8

Проверяем версию по умолчанию

Для проверки того, какая версия Python выбрана в настоящий момент в качестве версии по умолчанию, используется параметр Version(V). Он состоит из трех разделенных точками чисел, которые обозначают номер версии major (старшая версия), minor (младшая версия) и micro (с мелкими изменениями). Здесь также отображается сообщение об ошибке, в случае если Python еще не установлен на компьютере.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
python --version

Открываем родительский каталог

Для изменения текущего рабочего каталога на желаемый используется команда Change Directory(cd) («Изменить каталог»). С ее помощью перемещаются к абсолютному и относительному путям, которые начинаются соответственно от корневого и текущего рабочего каталога. Кроме того, она помогает перемещаться к путям, хранящимся в переменных и переменных окружения.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
cd ..

Проверяем версию по умолчанию

Для проверки того, какая версия Python выбрана в настоящий момент в качестве версии по умолчанию, используется параметр Version(V). Он состоит из трех разделенных точками чисел, которые обозначают номер версии major (старшая версия), minor (младшая версия) и micro (с мелкими изменениями). Здесь также отображается сообщение об ошибке, в случае если Python еще не установлен на компьютере.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
python --version

Открываем временный каталог

Для изменения текущего рабочего каталога на желаемый используется команда Change Directory(cd) («Изменить каталог»). С ее помощью перемещаются к абсолютному и относительному путям, которые начинаются соответственно от корневого и текущего рабочего каталога. Кроме того, она помогает перемещаться к путям, хранящимся в переменных и переменных окружения.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
cd temporary

Создаем виртуальную среду

Виртуальная среда представляет собой изолированный каталог установки Python с собственным интерпретатором, пакетами сайта и скриптами. Она используется в основном для предотвращения конфликтов версий между зависимостями из разных проектов. А кроме того, она применяется для соблюдения требований к зависимостям различных программ из GitHub.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
python -m venv venv36

Активируем виртуальную среду

Для запуска виртуальной среды используется скрипт активации Activate. Он добавляет путь виртуальной среды в переменную окружения PATH, устанавливающую новый интерпретатор Python и диспетчер пакетов в качестве версии по умолчанию. А еще он задает пакеты для установки в каталоге установки виртуальной среды.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
source ./venv36/bin/activate

Проверяем версию по умолчанию

Для проверки того, какая версия Python выбрана в настоящий момент в качестве версии по умолчанию, используется параметр Version(V). Он состоит из трех разделенных точками чисел, которые обозначают номер версии major (старшая версия), minor (младшая версия) и micro (с мелкими изменениями). Здесь также отображается сообщение об ошибке, в случае если Python еще не установлен на компьютере.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
python --version

Проверяем исполняемый файл

Определить местоположение исполняемого файла для указываемого имени команды позволяет команда Which. Она ищет исполняемый файл в списке каталогов, перечисленных в переменной окружения PATH. Кроме того, эта команда показывает абсолютный путь к исполняемому файлу, если таковой существует в одном из каталогов.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
which python

Деактивируем виртуальную среду

Команда деактивации Deactivate используется для остановки виртуальной среды. Она удаляет путь виртуальной среды из переменной среды PATH, которая устанавливает последний интерпретатор Python и диспетчер пакетов в качестве версии по умолчанию. А еще эта команда задает пакеты для установки в каталоге установки системы Python.

  1. Копируем команду из приведенных ниже инструкций.
  2. Вставляем команду в PowerShell.
  3. Нажимаем на Enter («Ввод»).
deactivate

Заключение

Эта статья помогает читателям настроить все, что нужно для изучения искусственного интеллекта, машинного обучения, глубокого обучения и/или науки о данных. Она содержит инструкции с использованием метода копирования и вставки кода и скриншотами для как можно более быстрого получения результата, а также пояснениями, благодаря которым читателям проще понять, что происходит.

Глоссарий:

Оболочка  —  это интерпретатор, который представляет пользователям интерфейс командной строки, позволяя им взаимодействовать с ядром. Таким образом они управляют системой посредством вводимых с клавиатуры команд. А еще этот интерпретатор переводит команды с языка программирования на машинный язык ядра.

Интерпретатор  —  это программа, которая посредством инструкций читает то, что написано на удобных для восприятия человеком языках программирования, и выполняет эти инструкции, начиная с верхних и заканчивая нижними. Она переводит каждую команду на машинный язык, понятный аппаратным средствам, выполняет ее и переходит к следующей инструкции.

Интерфейс командной строки  —  это программа, которая принимает вводимый пользователем текст для выполнения команд в операционной системе. С помощью этих команд настраивается система, устанавливается программное обеспечение и получается доступ к функциям, недоступным в графическом интерфейсе пользователя. Интерфейс командной строки по-другому называется еще терминалом или консолью.

Ядро  —  это программа, которая лежит в основе операционной системы и управляет всем в компьютере. С ее помощью осуществляется управление памятью процессами, дисками и задачами. Кроме того, она облегчает взаимодействие на машинном языке между программами и аппаратными средствами.

Major (старшая версия)  —  это число представляет собой обновление, приносящее в программу существенные изменения. Оно добавляет другую архитектуру, функции и функциональные возможности, несовместимые с предыдущими версиями. Обычно это приводит к тому, что созданные с использованием предыдущей версии программы перестают работать.

Minor (младшая версия)  —  это число представляет собой обновление, приносящее в программу умеренные изменения. Оно добавляет небольшие функции и функциональные возможности, совместимые с последним крупным обновлением. Обычно это не вызывает проблем с программами, созданными с использованием предыдущих небольших обновлений.

Версия micro (с мелкими изменениями)  —  это число представляет собой обновление, приносящее в программу очень скромные изменения. Эти изменения касаются исправления ошибок и улучшения производительности, совместимого с предыдущими обновлениями. Обычно это не вызывает проблем с программами, созданными с использованием предыдущих обновлений.

PATH (путь)  —  это переменная окружения, которая содержит список каталогов, используемых компьютером для поиска исполняемых файлов. Она ищет запрошенный исполняемый файл в каждом каталоге списка, начиная с верхнего и заканчивая нижним. Поиск прекращается, как только соответствующий исполняемый файл находится, после чего она запускает программу или команду.

Переменная  —  это контейнер, используемый для хранения различных типов значений. Присваивание или обновление значения переменной происходит через постановку знака равенства между именем данной переменной и значением, причем без пробела. Кроме того, с помощью знака доллара, поставленного перед именем имеющейся переменной, она ссылается на хранимое значение.

Переменная окружения  —  это переменная, которая автоматически создается и поддерживается компьютером. Она помогает системе определять, где устанавливать файлы, находить программы, а также проверять пользовательские и системные настройки. Кроме того, переменные окружения используются графическими программами и программами командной строки из любого места компьютера.

Команда Clone (клонирование) используется в Git для загрузки с GitHub того или иного репозитория. Она копирует все файлы, подкаталоги, ветки и коммиты для общей истории репозитория. А еще она применяется вместе с рекурсивным флагом для копирования подмодулей, используемых репозиторием в качестве зависимостей.

Подмодуль  —  это репозиторий, вложенный в другой репозиторий в качестве его подкаталога. Он содержит копию всех файлов для конкретной версии репозитория в определенный момент времени, а также копию всех подмодулей в репозитории, которые считаются его зависимостями.

Читайте также:

Читайте нас в Telegram, VK и Яндекс.Дзен


Перевод статьи David Littlefield: How to Install and Manage Multiple Python Versions in WSL2

Предыдущая статьяИИ: постижение законов сверхразума
Следующая статьяString и string в С#: больше, чем просто стиль?