virtualenvwrapper Python

↓ Contents ↓
Introduction
virtualenvwrapper в Windows
virtualenvwrapper в Linux

Introduction

virtualenvwrapper изначально был написан для UNIX-подобных операционных систем Дагом Хеллманном (англ. Doug Hellmann)

Для Windows существует две версии: virtualenvwrapper-win для обычной консоли и virtualenvwrapper-powershell для PowerShell

virtualenvwrapper-win

Разберём работу с virtualenvwrapper-win и virtualenvwrapper-powershell

Установка

pip install virtualenvwrapper-win

Или для Linux

pip install virtualenvwrapper

Для Linux и MacOS

После установке нужно проверить куда именно установился virtualenvwrapper

Это можно сделать командой

which virtualenvwrapper.sh

usr/local/bin/virtualenvwrapper.sh

vi .profile

Нужно добавить следующий код

source usr/local/bin/virtualenvwrapper.sh

Перезапустить терминал и добавить ещё две строчки

export WORKON_HOME="/home/andreyolegovich/virtualenvs" export PROJECT_HOME="/home/andreyolegovich/projects"

Первая строка не обязательна - по умолчанию всё-равно будет создана какая-то директория.

А вот без второй не будет работать mkproject создающий проекты, поэтому советую её добавить.

Начало работы

После установки execute

workon

Pass a name to activate one of the following virtualenvs: ============================================================================== File Not Found

Ничего не найдено. Хотя мы уже создавали виртуальные окружения. Видимо, дело в том, что virtualenvwrapper-win хранит окружения в другом месте.

Выполним

lsvirtualenv

dir /b /ad "C:\Users\Andrei\Envs" ============================================================================== dir /b /ad "C:\Users\Andrei\Envs" ==============================================================================

Видно, что окружения лежат на диске C в папке Envs пользователя Andrei

Создание нового окружения

Создать новое окружение можно командой mkvirtualenv

mkvirtualenv testEnv

created virtual environment CPython3.8.2.final.0-32 in 955ms creator CPython3Windows(dest=C:\Users\Andrei\Envs\testEnv, clear=False, global=False) seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\Andrei\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1) activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

lsvirtualenv

dir /b /ad "C:\Users\Andrei\Envs" ============================================================================== testEnv

Это окружение уже видно

workon

Pass a name to activate one of the following virtualenvs: ============================================================================== testEnv

workon тоже увидел новое окружение.

To активировать его вводим

workon testEnv

Если ничего не происходит проверьте в какой консоли Вы работаете, например, virtalenvwrapper-win не работает с PowerShell.

Нужно работать в обычной командной строке либо установить virtualenvwrapper-powershell

Создание нового проекта

Теперь я хочу создать проект heihei для работы над сайтом HeiHei.ru

mkproject heihei

ERROR: set environment variable PROJECT_HOME to the directory where projects are stored.

Создадим новую переменную окружения для Windows.

Если Вы не знаете как это сделать - прочитайте статью PATH

Создание переменной окружения PROJECT_HOME image from website www.aredel.com

После того как Вы добавили системную переменную, возможно придётся перезагрузить компьютер.

mkproject heihei

created virtual environment CPython3.8.2.final.0-32 in 851ms creator CPython3Windows(dest=C:\Users\Andrei\Envs\heihei, clear=False, global=False) seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\Andrei\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1) activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator "C:\Users\Andrei\PROJECT_HOME\heihei" is now the project directory for virtualenv "C:\Users\Andrei\Envs\heihei" "C:\Users\Andrei\PROJECT_HOME\heihei" added to C:\Users\Andrei\Envs\heihei\Lib\site-packages\virtualenv_path_extensions.pth (heihei) C:\Users\Andrei\PROJECT_HOME\heihei>

Как Вы уже увидели, mkproject создаёт также и виртуальное окружение и автоматически активирует его.

При создании проекта можно задать какую версию python нужно использовать

mkproject -p python3 topbicycle.ru

To связать активное виртуальное окружение с текущей директорией нужно выполнить

servirtualenvproject

To удалить виртуальное окружение нужно выполнить

rmvirtualenv topbicycle.ru

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

mktmpenv

virtualenvwrapper

Разберём работу с virtualenvwrapper в Ubuntu

↓ Contents главы ↓
Установка в Linux
Настройки .profile
Начало работы с virtualenvwrapper

Установка

Устанавливать нужно глобально, то есть активировать виртуальное окружение перед установкой не нужно. Убедитесь, что деактивировали.

Execute command

pip install virtualenvwrapper

или

pip3 install virtualenvwrapper

или

python3 -m pip install virtualenvwrapper

Collecting virtualenvwrapper Downloading virtualenvwrapper-4.8.4.tar.gz (334 kB) |████████████████████████████████| 334 kB 2.3 MB/s Requirement already satisfied: virtualenv in /home/andrei/.local/lib/python3.8/site-packages (from virtualenvwrapper) (20.0.35) Collecting virtualenv-clone Downloading virtualenv_clone-0.5.4-py2.py3-none-any.whl (6.6 kB) Collecting stevedore Downloading stevedore-3.2.2-py3-none-any.whl (42 kB) |████████████████████████████████| 42 kB 111 kB/s Requirement already satisfied: filelock<4,>=3.0.0 in /home/andrei/.local/lib/python3.8/site-packages (from virtualenv->virtualenvwrapper) (3.0.12) Requirement already satisfied: distlib<1,>=0.3.1 in /home/andrei/.local/lib/python3.8/site-packages (from virtualenv->virtualenvwrapper) (0.3.1) Requirement already satisfied: appdirs<2,>=1.4.3 in /home/andrei/.local/lib/python3.8/site-packages (from virtualenv->virtualenvwrapper) (1.4.4) Requirement already satisfied: six<2,>=1.9.0 in /usr/lib/python3/dist-packages (from virtualenv->virtualenvwrapper) (1.14.0) Collecting pbr!=2.1.0,>=2.0.0 Using cached pbr-5.5.0-py2.py3-none-any.whl (106 kB) Building wheels for collected packages: virtualenvwrapper Building wheel for virtualenvwrapper (setup.py) ... done Created wheel for virtualenvwrapper: filename=virtualenvwrapper-4.8.4-py2.py3-none-any.whl size=24850 sha256=15affb0b0bd7c3e14a8cc826c2c23d28c7a5b85b5a5dfdc5d4a27bca6575a19f Stored in directory: /home/andrei/.cache/pip/wheels/47/15/3d/7a26eaf92e79f80a3df3ac5f8e0f0f5b7efdf24d313c594a44 Successfully built virtualenvwrapper Installing collected packages: virtualenv-clone, pbr, stevedore, virtualenvwrapper Successfully installed pbr-5.5.0 stevedore-3.2.2 virtualenv-clone-0.5.4 virtualenvwrapper-4.8.4

После установке нужно проверить куда именно установился virtualenvwrapper.

Это можно сделать командой

which virtualenvwrapper.sh

/home/andrei/.local/bin/virtualenvwrapper.sh

Настраиваем профиль

Отредактируем файл .profile

Это файл с частью конфигурации вашей оболочки (shell), например Bash есть и другие файлы с конфигурацией Bash, например bashrc , подробнее читайте в статье «Основы Bash» пока что достаточно знать про .profile

Перейдём в домашнюю директорию

cd ~

И выполним

vi .profile

Подробнее о работе с vi читайте в статье «Introduction в редактор vi»

Дефолтный .profile выглядит примерно так:

# ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. # see /usr/share/doc/bash/examples/startup-files for examples. # the files are located in the bash-doc package. # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. #umask 022 # if running bash if ] -n " $BASH_VERSION" [; then # include .bashrc if it exists if ] -f " $HOME/.bashrc" [; then . " $HOME/.bashrc" fi fi # set PATH so it includes user' s private bin if it exists if ] -d " $HOME/bin" [ ; then PATH=" $HOME/bin:$PATH" fi # set PATH so it includes user' s private bin if it exists if ] -d " $HOME/.local/bin" [ ; then PATH=" $HOME/.local/bin:$PATH" fi alias ls=' ls -la'

Нужно добавить в конец следующий код

source /home/andrei/.local/bin/virtualenvwrapper.sh

После source указан результат команды which virtualenvwrapper.sh

Перезапустите терминал и добавьте ещё две строчки

export WORKON_HOME="/home/andrei/python/virtualenvs" export PROJECT_HOME="/home/andrei/python/projects"

Первая строка не обязательна - по умолчанию всё-равно будет создана какая-то директория.

А вот без второй не будет работать mkproject создающий проекты, поэтому советую её добавить.

Начало работы

После установки execute

workon

answerit_env tutorial_env

lsvirtualenv

dir /b /ad "C:\Users\Andrei\Envs" ============================================================================== dir /b /ad "C:\Users\Andrei\Envs" ==============================================================================

Видно, что окружения лежат на диске C в папке Envs пользователя Andrei

Создание нового окружения

Создать новое окружение можно командой mkvirtualenv

mkvirtualenv testEnv

created virtual environment CPython3.8.2.final.0-32 in 955ms creator CPython3Windows(dest=C:\Users\Andrei\Envs\testEnv, clear=False, global=False) seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\Andrei\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1) activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

lsvirtualenv

dir /b /ad "C:\Users\Andrei\Envs" ============================================================================== testEnv

Это окружение уже видно

workon

Pass a name to activate one of the following virtualenvs: ============================================================================== testEnv

workon тоже увидел новое окружение.

To активировать его вводим

workon testEnv

Если ничего не происходит проверьте в какой консоли Вы работаете, например, virtalenvwrapper-win не работает с PowerShell.

Нужно работать в обычной командной строке либо установить virtualenvwrapper-powershell

Создание нового проекта

Теперь я хочу создать проект heihei для работы над сайтом HeiHei.ru

mkproject heihei

ERROR: set environment variable PROJECT_HOME to the directory where projects are stored.

Создадим новую переменную окружения для Windows.

Если Вы не знаете как это сделать - прочитайте статью PATH

Создание переменной окружения PROJECT_HOME image from website www.aredel.com

После того как Вы добавили системную переменную, возможно придётся перезагрузить компьютер.

mkproject heihei

created virtual environment CPython3.8.2.final.0-32 in 851ms creator CPython3Windows(dest=C:\Users\Andrei\Envs\heihei, clear=False, global=False) seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\Andrei\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1) activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator "C:\Users\Andrei\PROJECT_HOME\heihei" is now the project directory for virtualenv "C:\Users\Andrei\Envs\heihei" "C:\Users\Andrei\PROJECT_HOME\heihei" added to C:\Users\Andrei\Envs\heihei\Lib\site-packages\virtualenv_path_extensions.pth (heihei) C:\Users\Andrei\PROJECT_HOME\heihei>

Как Вы уже увидели, mkproject создаёт также и виртуальное окружение и автоматически активирует его.

При создании проекта можно задать какую версию python нужно использовать

mkproject -p python3 topbicycle.ru

To связать активное виртуальное окружение с текущей директорией нужно выполнить

servirtualenvproject

To удалить виртуальное окружение нужно выполнить

rmvirtualenv topbicycle.ru

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

mktmpenv

Возможные проблемы

1

Если при перезапуске консоли вы видите

-bash: usr/local/bin/virtualenvwrapper.sh: No such file or directory

Значит в .profile вы указали source не правильно

2

/usr/bin/python: No module named virtualenvwrapper virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenvwrapper has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is set properly.

Contacts and cooperation:
I recommend our hosting beget.ru
Write to info@urn.su if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: