Имя virtualenv не распознано как имя командлета функции файла сценария или выполняемой программы

Ошибка WslRegisterDistribution failed with error: 0x80370102 – что делать?

Ошибка с кодом 0x80370102 сопровождается сообщением «WslRegisterDistribution failed with error». Имеет привычку появляться при попытке установить дистрибутив Linux для доступа через подсистему Windows к Linux 2 (WSL2). Таким образом процедура развертывания саб-системы обрывается и сам смысл свежевыпущенной функции Windows испаряется. Инсталляция Linux Distro обрывается сообщением:

WslRegisterDistribution failed with error: 0x80370102

Error: 0x80370102 The virtual machines could not be started because a required feature is not installed.

Причины ошибки 0x80370102

Речь идет о совсем новой ошибке, ведь она начала появляться только с конца лета 2021 года с выпуском WSL2. Она начала появляться не только при попытке установить подсистему Linux, но и Debian. В силу новизны, у нее пока нет подробного технического разбора со стороны разработчиков, и мы полагаемся на пользователей и их отчеты. Они указывают на наличие следующих нескольких проблем:

Creating a Python Virtual Environment!

  • Используется сборкаWindowsInsiderPreview. Многие пользователи инсайдерской версии Windows испытывают данную проблему и это нормально, ведь речь идет о незавершенной системе. Нужно ждать обновлений.
  • Проблемы перехода сWSL 1 наWSL 2. Результат опять же недоработанного программного обеспечения.
  • Выключена или отсутствует аппаратная виртуализация. Ее должен поддерживать процессор. Если такой функции в ЦП не предусмотрено, воспользоваться подсистемой Linux не получится. Может быть, что опция просто отключена и ее нужно включить.
  • ВыключенHyper-V. Это важный компонент виртуальной среды, который участвует в запуске нескольких операционных систем на одной физической машине. Его нужно обязательно активировать.

Что делать при ошибке 0x80370102?

Все исправления вытекают из причин ошибки. Пока что мы можем только включить аппаратную виртуализацию и Hyper-V. Если ваша версия Windows (от 2004, май 2020 года) и оборудование позволяет использовать подсистему WSL2, она должна заработать после ручного включения обязательных компонентов.

1. Включить аппаратную виртуализацию в BIOS

Если попытаться запустить Ubuntu или другую разновидность Linux в VirtualBox без активации аппаратной виртуализации, Windows отобразит сразу ряд ошибок. Система начнет грешить на распределение регистров WSL, звук и другие сбои. Данная функция обязательно должна быть включена, иначе запустить виртуальную систему не получится. К сожалению, активируется опция в BIOS, поэтому придется сделать несколько лишних телодвижений.

Как исправить ошибку 0x80370102:

  1. Нажимаем на виртуальную кнопку в Пуске – «Перезагрузить».
  2. В момент включения компьютера должна быть подсказка снизу с тем, какую клавишу нужно нажать для активации BIOS. Обычно это Del, Esc, F2, но может отличаться. Если не удастся войти с первого раза, нужно будет снов перезагрузить ПК.
  3. Находим вкладку CPU config, Processor или Chipset.
  4. Ищем параметр Virtualization или Виртуализация.
  5. Нажимаем напротив него и выбираем опцию Enable. В зависимости от производителя он может называться Intel Virtualization Technology, AMD-V, Hyper-V, VT-X, Vanderpool, or SVM.
  6. Возвращаемся в начальное окно и жмем на вариант «Save https://gamesqa.ru/kompyutery/oshibka-wslregisterdistribution-failed-with-error-0x80370102-28084/» target=»_blank»]gamesqa.ru[/mask_link]

    Виртуальное окружение в Python | Менеджер пакетов PIP | Файл requirements.txt

    Использование виртуальных сред venv и virtualenv для создания окружения Python

    Создание виртуального окружения в Python 3 с venv и virtualenv

    Виртуальные среды (окружения) используются в Python 3 контроля версионности пакетов. Кроме контроля версий среды используют для использования разных интерпретаторов. Самих пакетов, которые создают виртуальные окружения много. В этой статье речь пойдет про venv, virtualenv и virtualenvwrapper.

    Навигация по посту

    • Для чего нужно виртуальные среды?
    • Установка и создания окружения с virtualenv
    • Активация и выход из окружения
    • Настройки для Linux
    • Настройки для Windows
    • Основные команды

    Для чего нужно виртуальные среды?

    При создании скрипта или программы вы часто используете сторонние модули (пакеты). Если в последующем потребуется перенос программы на другой компьютер, то вы можете столкнуться с двумя проблемами:

    1. Нужные пакеты отсутствуют на новом компьютере и придется проверять каждый файл программы для их поиска. Либо получить список установленных пакетов через «pip list» на старом компьютере, который выведет множество лишних модулей.
    2. Даже если количество пакетов или файлов программ маленькое, или вы его создали отдельно, то вы все равно можете столкнуться с проблемами в версиях. Пакеты могли быть обновлены, а методы и классы изменены.

    Использование виртуальных сред избавляет вас от этих проблем. В таком виртуальной среде находится свой интерпретатор, свой pip и все пакеты относятся только к нему. Так же, весь проект, можно перенести как папку на другой компьютер без ошибок.

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

    Установка и создания окружения с virtualenv

    Самый популярный пакет, который используется для создания виртуальных сред в Python, это virtualenv. Для его установки на Windows выполните:

    pip install virtualenv

    Для установки на Linux системах, для Python 3, понадобится выполнить такую команду:

    sudo pip3 install virtualenv

    Если вы не будете использовать sudo, то в зависимости от версии ОС у вас появятся разные ошибки. В CentOS установка не выполнится вовсе, а в Ubuntu не будет добавлен путь в переменную окружения:

    • PermissionError: [Errno 13] Permission denied: ‘/usr/local/lib/python3.6’
    • Command ‘virtualenv’ not found, but can be installed with: sudo apt install virtualenv

    Далее, вне зависимости от того используете ли вы Linux или Windows, вы можете выполнить команду получения справки:

    virtualenv —help

    Установка virtualenv в Python3

    Я использую Python 3.6, и так я создам окружение в папке projectname/venv:

    virtualenv -p python3.6 project/venv

    Способ выше устанавливает окружение относительно текущего пути. Если нужно установить на другом диске или каталоге, то можно использовать абсолютный путь. Так же не обязательно указывать параметр «-p» если вы используете одну версию Python. Вариант как это может быть сделано на Windows:

    virtualenv D:projectvenv

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

    -projectname # Каталог проекта —venv # Окружение —app # Каталог с приложением

    Активация и выход из окружения

    Для того что бы виртуальное окружения начало работать его нужно активировать. В разных ОС это делается по-разному.

    В случаях с Linux указываем полный путь до venv/bin/activate:

    source project/venv/bin/activate

    Для активации в Windows, в папке venvScripts есть несколько файлов:

    • activate.ps1 — для активации через Powershell;
    • activate.bat — для активации через CMD.

    Для активации просто укажите полный путь до файла. Например:

    D:projectnamevenvScriptsactivate.ps1

    О том что вы находитесь в виртуальном окружении свидетельствуют следующие надписи:

    Активация virtualenv в Python3

    Вы так же можете сравнить количество установленных пакетов внутри виртуального окружения с тем, что установлено вне:

    pip list

    Список установленных пакетов через pip в Python

    Теперь вы можете устанавливать пакеты, которые будут работать только в этой среде.

    Для выхода из окружения, за исключением запуска с помощью CMD, используйте команду:

    deactivate

    Для CMD нужно указать путь до файла «venvScriptsdeactivate.bat».

    Управление средами через virtualenvwrapper

    Если вы создаете множество виртуальных сред, например для тестирования в разных версиях Python, вы можете использовать virtualenvwrapper. Этот пакет представляет собой надстройку для virtualenv для более удобной работы и устанавливается отдельно.

    Благодаря этому пакету мы сможем запускать ваши окружения так:

    workon project_name # вместо source project_name/venv/bin/activate

    Для Windows нужно установить следующий пакет:

    pip install virtualenvwrapper-win

    Для Linux нужно так же использовать sudo:

    sudo pip3 install virtualenvwrapper

    Настройки для Linux

    Virtualenvwrapper хранит все окружения в одном месте. Это место определяется через переменную WORKON_HOME в Linux и по умолчанию равно директории ‘/home/пользователь/.virtualenvs’. Если вы хотите изменить это расположение — выполните команду экспорта с нужным путем:

    export WORKON_HOME = /var/envs/ # Создание директории source ~/.bashrc mkdir -p $WORKON_HOME

    Следующая команда добавит скрипты в домашний каталог для удобной работы:

    source /usr/local/bin/virtualenvwrapper.sh # Если путь отличается, то файл virtualenvwrapper.sh можно найти так which virtualenvwrapper.sh

    При выполнении предыдущей команды у меня появилась ошибка:

    virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader

    Она исправилась добавлением переменной в env с путем до нужного интерпретатора:

    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

    Настройки для Windows

    Все виртуальные среды, которые будут созданы, по умолчанию будут располагаться по пути «C:Users%USERNAME%Envs». Если вам нужно изменить расположение, то создайте переменную WORKON_HOME с нужной директорией:

    Определение переменных окружений в Windows для virtualenvwrapper

    Важный момент, в случае с Windows, команды virtualenvwrapper не будут выполняться Powershell. Команды работают только через CMD.

    Основные команды

    Далее мы можем использовать следующие команды (основные):

    • mkvirtualenv — создание окружения;
    • lsvirtualenv — отображение списка окружений;
    • rmvirtualenv — удаление;
    • workon — переключение между виртуальными средами;
    • deactivate — выход из текущего окружения.

    Так мы создадим виртуальную среду:

    mkvirtualenv project_name

    Создание окружения с mkvirtualenv в Python virtualenvwrapper

    Так выйдем из созданной среды:

    deactivate
    workon django3.0

    Изменение сред с workon в Python virtualenvwrapper

    Если нужно использовать другую версию Python:

    mkvirtualenv -p python2.7 project_name/venv
    mkvirtualenv -h

    Создание виртуальных сред со встроенным пакетом Python venv

    Ранее, до версии Python >= 3.6 базовая установка интерпретатора шла вместе с пакетом pyenv, но на данный момент он считается устаревшим и более не поддерживается. На его смену пришел venv. В некоторых версиях ОС (Ubuntu/Debian) может потребоваться его отдельная установка:

    sudo apt install python3-venv

    Проверить, то что пакет venv установлен, можно так:

    python -m venv # или python3 -m venv

    Установка venv в Python

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

    python -m venv C:project_nameproject_venv # или python3 -m venv /var/project_name/project_venv

    Выбранная версия Python и стандартные библиотеки будут скопированы в указанную папку.

    Активация окружения выполняется следующим образом:

    # CMD C:project_nameproject_venvScriptsactivate.bat # Powershell C:project_nameproject_venvScriptsActivate.ps1 # Bash project_name/project_venv/bin/activate

    Для выхода из окружения:

    # CMD C:project_nameproject_venvScriptsdeactivate.bat # Powershell и bash deactivate

    Создание виртуальной среды с venv в Python

    Создание виртуального окружения в Pycharm

    В некоторых IDE, например Pycharm, консоль встроенная и по умолчанию у вас будет запускаться интерпретатор выбранный в настройках. В Pycharm вы можете создать или изменить проект привязав его к определенному интерпретатору.

    Виртуальную среду можно создать при создании нового проекта. Для этого нужно зайти по следующему пути:

    Подключение virtualenv в Pycharm

    В новом окне выбрать название проекта, место для копирования, интерпретатор и нажать кнопку создания окружения:

    Создание виртуального окружения virtualenv в Pycharm

    Для настройки окружения для старых проектов нужно зайти в настройки:

    Изменение виртуального окружения virtualenv в Pycharm

    Во вкладе «Python Interpreter» будет выбор из существующих интерпретаторов (1). Либо можно создать новый (2):

    Изменение виртуального окружения virtualenv в Pycharm

    Создание списка установленных пакетов Requirements.txt

    Используя виртуальные окружения можно легко создавать файл, в котором будут собраны все названия и версии пакетов для определенного проекта. Этот подход используется для удобства работы, так как одной программой мы сразу установим нужные пакеты.

    Так мы получим список пакетов, установленных в виртуальном окружении, в формате читаемом pip:

    pip freeze

    Получение списка установленных пакетов с pip в Python

    Следующим способом мы экспортируем этот список в файл Requirements.txt (способ подходит для Bash/CMD/Powershell):

    pip freeze > Requirements.txt

    На другом компьютере/среде мы можем этот список быстро проверить и установить отсутствующие пакеты следующей командой:

    pip install -r Requirements.txt

    Источник: fixmypc.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru