Найти в Дзене
Nuances of programming

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

Оглавление

Источник: Nuances of Programming

Открываем PowerShell

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

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

Открываем WSL2

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

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

wsl

-3

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

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

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

python --version

-4

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

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

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

which python

-5

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

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

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

cd $HOME

-6

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

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

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

sudo apt-get install --yes git

-7

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

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

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

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

-8

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

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

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

notepad ~/.bashrc

-9

Редактируем файл конфигурации 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

-10

Перезапуск WSL2

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

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

exec $SHELL

-11

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

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

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

sudo apt-get update --yes

-12

Устанавливаем зависимости 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

-13

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

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

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

pyenv install --list

-14

Устанавливаем 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

-15

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

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

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

pyenv global 3.8.6

-16

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

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

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

mkdir temporary

-17

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

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

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

cd temporary

-18

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

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

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

pyenv local 3.6.8

-19

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

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

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

python --version

-20

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

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

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

cd ..

-21

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

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

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

python --version

-22

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

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

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

cd temporary

-23

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

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

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

python -m venv venv36

-24

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

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

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

source ./venv36/bin/activate

-25

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

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

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

python --version

-26

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

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

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

which python

-27

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

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

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

deactivate

-28

Заключение

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

Глоссарий:

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте нас в Telegram, VK

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