Открываем PowerShell
PowerShell — это командная оболочка и объектно-ориентированный язык сценариев, который используется для настройки системных параметров и автоматизации задач администрирования. В операционной системе практически все автоматизируется с помощью этой оболочки. Кроме того, она заменила собой командную строку и стала стандартной системной оболочкой для Windows 10.
- Нажимаем на
⊞ Windows. - Вводим в строке поиска
PowerShell. - Нажимаем на
Run as Administrator(«Запуск от имени администратора»).

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

Проверяем версию по умолчанию
Для проверки того, какая версия Python выбрана в настоящий момент в качестве версии по умолчанию, используется параметр Version (V). Он состоит из трех разделенных точками чисел, которые обозначают номер версии major (старшая версия), minor (младшая версия) и micro (с мелкими изменениями) соответственно. Здесь также отображается сообщение об ошибке, в случае если Python еще не установлен на компьютере.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
python --version

Проверяем исполняемый файл
Определить местоположение исполняемого файла для указываемого имени команды позволяет команда Which. Она ищет исполняемый файл в списке каталогов, перечисленных в переменной окружения PATH. Кроме того, эта команда показывает абсолютный путь к исполняемому файлу, если таковой существует в одном из каталогов.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
which python

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

Устанавливаем Git
Git — это программа, которая используется для отслеживания изменений, время от времени вносимых в исходный код. Она работает с проектами любых размеров и позволяет сразу нескольким разработчикам и командам вносить изменения в один и тот же репозиторий. А кроме того, она делает возможным восстановление из общей истории репозитория предыдущей версии исходного кода.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
sudo apt-get install --yes git

Клонирование репозитория Pyenv
Pyenv — это программа, которая используется для управления версиями Python на macOS и Linux. С ее помощью устанавливаются несколько версий Python, указывается версия, которая задействуется в рамках всей системы, а также версия, применяемая в определенных каталогах. Кроме того, она позволяет создавать виртуальные среды и управлять ими с использованием определенных версий.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

Открываем файл конфигурации Bash
Файл конфигурации Shell — это скрипт, который автоматически выполняется при открытии оболочки пользователем. Он содержит код, используемый для изменения внешнего вида оболочки, запуска скриптов и команд, создания псевдонимов и загрузки переменных окружения. А кроме того, он создает отдельный файл конфигурации для различных оболочек.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
notepad ~/.bashrc

Редактируем файл конфигурации Bash
Bourne Again Shell (Bash) — это командная оболочка и язык сценариев, который используется для настройки системных параметров и автоматизации задач администрирования. В операционной системе практически все автоматизируется с помощью этой оболочки. Для большинства операционных систем на базе Linux она была и остается оболочкой по умолчанию.
- Копируем код из приведенных ниже инструкций.
- Вставляем код в Notepad.
- Нажимаем на меню
File(«Файл»). - Нажимаем на
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). Она удаляет текущий процесс и заменяет его указываемой командой без создания нового процесса. А еще команда перезапускает оболочку для перезагрузки файла конфигурации в окружении.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
exec $SHELL

Обновляем список источников и каталог списка источников
Для обеспечения актуальности списка доступных пакетов используется команда Update. С ее помощью из репозиториев в системе загружается список пакетов, который содержит информацию о новых и обновляемых пакетах. Команда обновляет только информацию о пакетах, фактически не обновляя сами пакеты.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
sudo apt-get update --yes

Устанавливаем зависимости Pyenv
Зависимость — это дополнительный двоичный пакет, необходимый конкретному двоичному пакету для правильной работы. Для создания практически любой программы, распространяемой через диспетчеры пакетов, требуется несколько зависимостей. Некоторые диспетчеры пакетов загружают и устанавливают зависимости автоматически.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
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 (версии с мелкими изменениями). Не отображаются альфа-, бета-версии, т. е. предвыпускные версии.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
pyenv install --list

Устанавливаем Python
Python — это объектно-ориентированный язык, славящийся простым синтаксисом, удобным для восприятия человека кодом, гибкостью и масштабируемостью. Он используется в основном для разработки веб-приложений и программных продуктов. А кроме того, Python стал одним из самых популярных языков для искусственного интеллекта, машинного обучения и науки о данных.
- Находим версию из приведенных ниже инструкций.
- Копируем предлагаемую команду.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»). - Повторяем.
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 и переменной окружения.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
pyenv global 3.8.6

Создаем временный каталог
Команда Make Directory(mkdir)используется для создания новых каталогов. Она указывает один или несколько относительных или абсолютных путей с именами вновь создаваемых каталогов. А еще эта команда используется с флагом Parents для создания (в случае необходимости) родительских каталогов без перезаписи уже имеющегося пути.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
mkdir temporary

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

Устанавливаем версию по умолчанию для каталога
В Pyenv для указания версии Python по умолчанию, принимаемой для текущего каталога, используется команда Local. С ее помощью в текущем каталоге создается текстовый файл, в котором хранится указанная версия. Файл автоматически обнаруживается Pyenv, который активирует версию Python в текущем каталоге и подкаталогах.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
pyenv local 3.6.8

Проверяем версию по умолчанию
Для проверки того, какая версия Python выбрана в настоящий момент в качестве версии по умолчанию, используется параметр Version(V). Он состоит из трех разделенных точками чисел, которые обозначают номер версии major (старшая версия), minor (младшая версия) и micro (с мелкими изменениями). Здесь также отображается сообщение об ошибке, в случае если Python еще не установлен на компьютере.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
python --version

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

Проверяем версию по умолчанию
Для проверки того, какая версия Python выбрана в настоящий момент в качестве версии по умолчанию, используется параметр Version(V). Он состоит из трех разделенных точками чисел, которые обозначают номер версии major (старшая версия), minor (младшая версия) и micro (с мелкими изменениями). Здесь также отображается сообщение об ошибке, в случае если Python еще не установлен на компьютере.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
python --version

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

Создаем виртуальную среду
Виртуальная среда представляет собой изолированный каталог установки Python с собственным интерпретатором, пакетами сайта и скриптами. Она используется в основном для предотвращения конфликтов версий между зависимостями из разных проектов. А кроме того, она применяется для соблюдения требований к зависимостям различных программ из GitHub.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
python -m venv venv36

Активируем виртуальную среду
Для запуска виртуальной среды используется скрипт активации Activate. Он добавляет путь виртуальной среды в переменную окружения PATH, устанавливающую новый интерпретатор Python и диспетчер пакетов в качестве версии по умолчанию. А еще он задает пакеты для установки в каталоге установки виртуальной среды.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
source ./venv36/bin/activate

Проверяем версию по умолчанию
Для проверки того, какая версия Python выбрана в настоящий момент в качестве версии по умолчанию, используется параметр Version(V). Он состоит из трех разделенных точками чисел, которые обозначают номер версии major (старшая версия), minor (младшая версия) и micro (с мелкими изменениями). Здесь также отображается сообщение об ошибке, в случае если Python еще не установлен на компьютере.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
python --version

Проверяем исполняемый файл
Определить местоположение исполняемого файла для указываемого имени команды позволяет команда Which. Она ищет исполняемый файл в списке каталогов, перечисленных в переменной окружения PATH. Кроме того, эта команда показывает абсолютный путь к исполняемому файлу, если таковой существует в одном из каталогов.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
which python

Деактивируем виртуальную среду
Команда деактивации Deactivate используется для остановки виртуальной среды. Она удаляет путь виртуальной среды из переменной среды PATH, которая устанавливает последний интерпретатор Python и диспетчер пакетов в качестве версии по умолчанию. А еще эта команда задает пакеты для установки в каталоге установки системы Python.
- Копируем команду из приведенных ниже инструкций.
- Вставляем команду в
PowerShell. - Нажимаем на
Enter(«Ввод»).
deactivate

Заключение
Эта статья помогает читателям настроить все, что нужно для изучения искусственного интеллекта, машинного обучения, глубокого обучения и/или науки о данных. Она содержит инструкции с использованием метода копирования и вставки кода и скриншотами для как можно более быстрого получения результата, а также пояснениями, благодаря которым читателям проще понять, что происходит.
Глоссарий:
Оболочка — это интерпретатор, который представляет пользователям интерфейс командной строки, позволяя им взаимодействовать с ядром. Таким образом они управляют системой посредством вводимых с клавиатуры команд. А еще этот интерпретатор переводит команды с языка программирования на машинный язык ядра.
Интерпретатор — это программа, которая посредством инструкций читает то, что написано на удобных для восприятия человеком языках программирования, и выполняет эти инструкции, начиная с верхних и заканчивая нижними. Она переводит каждую команду на машинный язык, понятный аппаратным средствам, выполняет ее и переходит к следующей инструкции.
Интерфейс командной строки — это программа, которая принимает вводимый пользователем текст для выполнения команд в операционной системе. С помощью этих команд настраивается система, устанавливается программное обеспечение и получается доступ к функциям, недоступным в графическом интерфейсе пользователя. Интерфейс командной строки по-другому называется еще терминалом или консолью.
Ядро — это программа, которая лежит в основе операционной системы и управляет всем в компьютере. С ее помощью осуществляется управление памятью процессами, дисками и задачами. Кроме того, она облегчает взаимодействие на машинном языке между программами и аппаратными средствами.
Major (старшая версия) — это число представляет собой обновление, приносящее в программу существенные изменения. Оно добавляет другую архитектуру, функции и функциональные возможности, несовместимые с предыдущими версиями. Обычно это приводит к тому, что созданные с использованием предыдущей версии программы перестают работать.
Minor (младшая версия) — это число представляет собой обновление, приносящее в программу умеренные изменения. Оно добавляет небольшие функции и функциональные возможности, совместимые с последним крупным обновлением. Обычно это не вызывает проблем с программами, созданными с использованием предыдущих небольших обновлений.
Версия micro (с мелкими изменениями) — это число представляет собой обновление, приносящее в программу очень скромные изменения. Эти изменения касаются исправления ошибок и улучшения производительности, совместимого с предыдущими обновлениями. Обычно это не вызывает проблем с программами, созданными с использованием предыдущих обновлений.
PATH (путь) — это переменная окружения, которая содержит список каталогов, используемых компьютером для поиска исполняемых файлов. Она ищет запрошенный исполняемый файл в каждом каталоге списка, начиная с верхнего и заканчивая нижним. Поиск прекращается, как только соответствующий исполняемый файл находится, после чего она запускает программу или команду.
Переменная — это контейнер, используемый для хранения различных типов значений. Присваивание или обновление значения переменной происходит через постановку знака равенства между именем данной переменной и значением, причем без пробела. Кроме того, с помощью знака доллара, поставленного перед именем имеющейся переменной, она ссылается на хранимое значение.
Переменная окружения — это переменная, которая автоматически создается и поддерживается компьютером. Она помогает системе определять, где устанавливать файлы, находить программы, а также проверять пользовательские и системные настройки. Кроме того, переменные окружения используются графическими программами и программами командной строки из любого места компьютера.
Команда Clone (клонирование) используется в Git для загрузки с GitHub того или иного репозитория. Она копирует все файлы, подкаталоги, ветки и коммиты для общей истории репозитория. А еще она применяется вместе с рекурсивным флагом для копирования подмодулей, используемых репозиторием в качестве зависимостей.
Подмодуль — это репозиторий, вложенный в другой репозиторий в качестве его подкаталога. Он содержит копию всех файлов для конкретной версии репозитория в определенный момент времени, а также копию всех подмодулей в репозитории, которые считаются его зависимостями.
Читайте также:
- Thonny - идеальная IDE для новичков Python
- Анализ социальных сетей: от теории графов до приложений на Python
- Классы данных в Python и их ключевые особенности
Читайте нас в Telegram, VK и Яндекс.Дзен
Перевод статьи David Littlefield: How to Install and Manage Multiple Python Versions in WSL2





