- Вопрос или проблема
- Ответ или решение
- Создание виртуального окружения Python в приложении Ubuntu на Windows с использованием ‘venv’
- Шаг 1: Подготовка системы
- Шаг 2: Создание виртуального окружения
- Шаг 3: Активация виртуального окружения
- Шаг 4: Установка пакетов
- Шаг 5: Деактивация виртуального окружения
- Решение возможных проблем
- Заключение
Вопрос или проблема
Я использую приложение Ubuntu на Windows, работающее на Подсистеме Windows для Linux. Поэтому начальный вопрос в том, поддерживаются ли виртуальные окружения Python. Учитывая мое пока еще ограниченное понимание виртуальных окружений Python, я думаю, что они поддерживаются в приложении Ubuntu на Windows. Вот информация о версии:
Приложение Windows Ubuntu 1804.2019.521.0
Версия Ubuntu 18.04 (bionic)
Версия Python 3.6.7 (насколько я помню, она была установлена по умолчанию).
Моя мотивация для использования venv
– это пост на Reddit:
venv по своей природе является частью самого Python и имеет доступ к внутренним механизмам Python, что означает, что он может делать вещи правильным образом с гораздо меньшим количеством хака… …Таким образом, venv можно рассматривать как virtualenv, сделанный правильно, с благословением и поддержкой разработчиков Python.
Похожие вопросы возникли, когда я ввел свой вопрос, но я не нашел ни одного, который бы решил мою проблему.
Вот один пост:
Поскольку вы специально установили
python3.6
вместо стандартной версииpython3
Ubuntu, которая являетсяpython3.5
, вам нужно установитьpython3.6-venv
вместоpython3-venv
, так как это будет соответствоватьpython3.5-venv
. Для этого вы можете использоватьsudo apt install python3.6-venv
.
Другой пост от 01/2018 говорил, что python3.6 -m venv myvenv
заработал после переустановки Python3.6.4. Я избегаю переустановки пока.
Вот что я попробовал для создания виртуального окружения:
1) Открыл Ubuntu
2) Перешел в директорию, где хочу создать виртуальное окружение.
/home/dgrucza/python-virtual-environments
3) Ввел python3 -m venv env
. Это вернуло следующее:
Виртуальное окружение не было создано успешно, потому что ensurepip недоступен. На системах Debian/Ubuntu вам нужно установить пакет python3-venv, используя следующую команду.
apt-get install python3-venv
Вам может понадобиться использовать sudo с этой командой. После установки пакета python3-venv создайте ваше виртуальное окружение заново.
Неудачная команда: [‘/home/dgrucza/python-virtual-environments/evn/bin/python3’, ‘-Im’, ‘ensurepip’, ‘–upgrade’, ‘–default-pip’]
4) Попробовал установить venv, введя sudo apt-get install python-venv
. После ввода пароля в приглашении это вернуло следующее:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Пакет python3-venv недоступен, но на него ссылается другой пакет.
Это может означать, что пакет отсутствует, устарел или
доступен только из другого источника.E: Пакет ‘python3-venv’ не имеет кандидата на установку
5) Также пробовал ввести python3.6 -m venv myenv
, но получил то же сообщение.
Виртуальное окружение не было создано успешно, потому что ensurepip недоступен. На системах Debian/Ubuntu вам нужно установить пакет python3-venv, используя следующую команду.
apt-get install python3-venv
Вам может понадобиться использовать sudo с этой командой. После установки пакета python3-venv создайте ваше виртуальное окружение заново.
Неудачная команда: [‘/home/dgrucza/myenv/bin/python3.6’, ‘-Im’, ‘ensurepip’, ‘–upgrade’, ‘–default-pip’]
Что я сделал до сих пор:
- Открыть терминал
- Перейти в нужную директорию
- Ввести
python3 -m venv name_of_virtual_env
Если это не сработает, не могли бы вы обновить ваш вопрос, чтобы показать вывод терминала?
ИЗМЕНЕНИЕ
Я только что протестировал установку venv на виртуальной машине Lubuntu 19.04:
sudo apt install python3-venv
Я смог создать виртуальное окружение с вышеупомянутой командой. Однако у меня уже был установлен Spyder3, поэтому некоторые зависимости могли прийти с ним.
И, как предложил Томас Уард, я делюсь своими источниками:
Ответ или решение
Создание виртуального окружения Python в приложении Ubuntu на Windows с использованием ‘venv’
Создание виртуального окружения с использованием модуля venv
в Ubuntu на Windows, работающем через Windows Subsystem for Linux (WSL), является важной задачей для разработчиков, желающих изолировать зависимости своих проектов. В данной инструкции мы подробно рассмотрим шаги, необходимые для успешного создания виртуального окружения.
Шаг 1: Подготовка системы
Для начала убедитесь, что у вас установлены необходимые компоненты:
-
Версия Python: Проверьте установленную версию Python с помощью команды:
python3 --version
Убедитесь, что это Python 3.6 или выше.
-
Установка модуля
venv
:
Ваша текущая установка Python может не включать модульvenv
по умолчанию, особенно если вы используете Python 3.6, как указано в вашем описании. Необходимо установить соответствующий пакет.Для установки
python3.6-venv
, выполните следующие команды в терминале:sudo apt update sudo apt install python3.6-venv
Если вы столкнетесь с ошибкой, что пакет
python3.6-venv
недоступен, возможно, вам нужно будет сначала установить несколько обновлений системы.
Шаг 2: Создание виртуального окружения
Теперь, когда у вас установлен модуль venv
, вы готовы создать виртуальное окружение:
-
Откройте терминал.
-
Перейдите в директорию, где вы хотите создать виртуальное окружение. Например:
cd /home/dgrucza/python-virtual-environments
-
Создайте виртуальное окружение с помощью следующей команды:
python3.6 -m venv env
Это создаст директорию
env
, содержащую все файлы для вашего виртуального окружения.
Шаг 3: Активация виртуального окружения
После создания виртуального окружения вам нужно его активировать, чтобы начать использовать изолированные зависимости:
source env/bin/activate
После активации вы увидите изменение в командной строке, которое указывает на то, что вы находитесь внутри виртуального окружения.
Шаг 4: Установка пакетов
Теперь, когда ваше виртуальное окружение активно, вы можете устанавливать необходимые пакеты с помощью pip
. Например, чтобы установить пакет requests
:
pip install requests
Шаг 5: Деактивация виртуального окружения
Когда вы закончите работать в виртуальном окружении, вы можете легко его деактивировать с помощью команды:
deactivate
Решение возможных проблем
Если вы по-прежнему сталкиваетесь с ошибками при создании виртуального окружения, проверьте следующее:
- Убедитесь, что ваша система обновлена (
sudo apt update
иsudo apt upgrade
). - Проверьте, что установленный пакет
python3.6-venv
действительно соответствует установленной версии Python. Если у вас несколько версий Python, убедитесь, что вы используете правильную.
Заключение
Создание виртуального окружения с использованием venv
в Ubuntu на Windows может показаться сложным на первом этапе, особенно при наличии различных версий Python. Однако следуя данным шагам, вы сможете успешно изолировать зависимости вашего проекта и настроить рабочую среду. Этот процесс поможет избежать конфликтов между пакетами и обеспечит больше гибкости в разработке ваших приложений на Python.