Если в 2011 году, когда начиналась эта тема, виртуальное окружение Python было ещё какой-то экзотикой, то на сегодня Python (главным образом Python3) становится основным инструментом в deep learning, машинном обучении, распознавании образов, нейросетях, а виртуальное окружение становится основной технологией развёртывания проектов в этих областях. Это связано (и естественно) с разносортностью версий пакетов, требуемых различным проектам.
Python: виртуальная среда
Модератор: Olej
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Python: Виртуальная среда
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Python: Виртуальная среда
Снова понадобились виртуальные окружения Python3, теперь уже в связи с созданием тестовых окружений ptest ...
Использование виртуальных сред venv и virtualenv для создания окружения Python
15 апреля 2020
Самих пакетов, которые создают виртуальные окружения много. В этой статье речь пойдет про venv, virtualenv и virtualenvwrapper.
Навигация по посту
Для чего нужно виртуальные среды?
Установка и создания окружения с virtualenv
Активация и выход из окружения
Управление средами через virtualenvwrapper
Настройки для Linux
Настройки для Windows
Основные команды
Создание виртуальных сред со встроенным пакетом Python venv
Создание виртуального окружения в Pycharm
Создание списка установленных пакетов Requirements.txt
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Python: Виртуальная среда
Создание виртуальных сред со встроенным пакетом Python venv
Ранее, до версии Python >= 3.6 базовая установка интерпретатора шла вместе с пакетом pyenv, но на данный момент он считается устаревшим и более не поддерживается. На его смену пришел venv. В некоторых версиях ОС (Ubuntu/Debian) может потребоваться его отдельная установка:Проверить, то что пакет venv установлен, можно так:Код: Выделить всё
sudo apt install python3-venv
# илиКод: Выделить всё
python -m venv
Код: Выделить всё
python3 -m venv
Код: Выделить всё
olej@R420:~/2022/rus.linux.net.hist/timeweb$ lsb_release -a
No LSB modules are available.
Distributor ID: Linuxmint
Description: Linux Mint 20.2
Release: 20.2
Codename: uma
Код: Выделить всё
olej@R420:~/2022/rus.linux.net.hist/timeweb$ python3 -m venv
usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip] [--prompt PROMPT] ENV_DIR [ENV_DIR ...]
venv: error: the following arguments are required: ENV_DIR
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Python: Виртуальная среда
Создаю виртуальное окружение:
Код: Выделить всё
olej@R420:~/2022/Python/pytest$ pwd
/home/olej/2022/Python/pytest
Код: Выделить всё
olej@R420:~/2022/Python/pytest$ python3 -m venv .venv
The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt install python3.8-venv
You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.
Failing command: ['/home/olej/2022/Python/pytest/.venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Python: Виртуальная среда
Код: Выделить всё
olej@R420:~$ apt search venv
p apt-venv - apt virtual environment
p elpa-pyvenv - Python virtual environment interface
p python3-venv - pyvenv-3 binary for python3 (default python3 version)
p python3-venv:i386 - pyvenv-3 binary for python3 (default python3 version)
v python3-venv:any -
p python3.8-venv - Interactive high-level object-oriented language (pyvenv binary, version 3.8)
p python3.8-venv:i386 - Interactive high-level object-oriented language (pyvenv binary, version 3.8)
v python3.8-venv:any -
p python3.9-venv - Interactive high-level object-oriented language (pyvenv binary, version 3.9)
p python3.9-venv:i386 - Interactive high-level object-oriented language (pyvenv binary, version 3.9)
v python3.9-venv:any -
Код: Выделить всё
olej@R420:~$ sudo apt install python3-venv
[sudo] пароль для olej:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
python-atomicwrites python-attr python-configparser python-contextlib2 python-funcsigs python-importlib-metadata python-more-itertools python-packaging python-pathlib2
python-pkg-resources python-pluggy python-py python-pyparsing python-scandir python-six python-wcwidth python-zipp
Для их удаления используйте «sudo apt autoremove».
Будут установлены следующие дополнительные пакеты:
python3.8-venv
Следующие НОВЫЕ пакеты будут установлены:
python3-venv python3.8-venv
Обновлено 0 пакетов, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 6.672 B архивов.
После данной операции объём занятого дискового пространства возрастёт на 38,9 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://ubuntu.org.ua/ubuntu focal-updates/universe amd64 python3.8-venv amd64 3.8.10-0ubuntu1~20.04.2 [5.444 B]
Пол:2 http://ubuntu.org.ua/ubuntu focal/universe amd64 python3-venv amd64 3.8.2-0ubuntu2 [1.228 B]
Получено 6.672 B за 0с (40,7 kB/s)
Выбор ранее не выбранного пакета python3.8-venv.
(Чтение базы данных … на данный момент установлено 409403 файла и каталога.)
Подготовка к распаковке …/python3.8-venv_3.8.10-0ubuntu1~20.04.2_amd64.deb …
Распаковывается python3.8-venv (3.8.10-0ubuntu1~20.04.2) …
Выбор ранее не выбранного пакета python3-venv.
Подготовка к распаковке …/python3-venv_3.8.2-0ubuntu2_amd64.deb …
Распаковывается python3-venv (3.8.2-0ubuntu2) …
Настраивается пакет python3.8-venv (3.8.10-0ubuntu1~20.04.2) …
Настраивается пакет python3-venv (3.8.2-0ubuntu2) …
Обрабатываются триггеры для man-db (2.9.1-1) …
Код: Выделить всё
olej@R420:~/2022/Python/pytest$ python3 -m venv .venv
Активизирую виртуальное окружение:
Код: Выделить всё
olej@R420:~/2022/Python/pytest$ source .venv/bin/activate
(.venv) olej@R420:~/2022/Python/pytest$
Код: Выделить всё
(.venv) olej@R420:~/2022/Python/pytest$ pip3 list
Package Version
------------- -------
pip 20.0.2
pkg-resources 0.0.0
setuptools 44.0.0
Код: Выделить всё
(.venv) olej@R420:~/2022/Python/pytest$ python --version
Python 3.8.10
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя