🏠 | 💻 IT | Программирование Code | Python |

virtualenv Python

Введение

virtualenv это инструмент для изоляции проектов друг от друга.

Можно создавать проекты с разными установленными пакетами, разными версиями Python, Pip и так далее.

Применяется чаще всего с двумя целями:

Первая: писать и тестировать код, который должен работать в разных условиях. Например, нужна версия программы для Python 2.7 и для Python 3.8.

Вторая: не «портить» установленный системный Python, превращая его в кашу из кучи разных пакетов.

Установка virtualenv Python

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

Работу в virtualenv рассмотрим в следующей статье

Пакет venv мы рассмотрим когда-нибудь в будущем.

python -m pip install virtualenv

Collecting virtualenv Downloading virtualenv-20.0.21-py2.py3-none-any.whl (4.7 MB) |████████████████████████████████| 4.7 MB 2.2 MB/s Requirement already satisfied: six<2,>=1.9.0 in c:\users\andrei\appdata\roaming\python\python38\site-packages (from virtualenv) (1.14.0) Collecting filelock<4,>=3.0.0 Downloading filelock-3.0.12-py3-none-any.whl (7.6 kB) Collecting distlib<1,>=0.3.0 Downloading distlib-0.3.0.zip (571 kB) |████████████████████████████████| 571 kB 2.2 MB/s Collecting appdirs<2,>=1.4.3 Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) Could not build wheels for six, since package 'wheel' is not installed. Could not build wheels for distlib, since package 'wheel' is not installed. Installing collected packages: filelock, distlib, appdirs, virtualenv Running setup.py install for distlib ... done Successfully installed appdirs-1.4.4 distlib-0.3.0 filelock-3.0.12 virtualenv-20.0.21

Выполните

virtualenv --version

virtualenv 20.0.21 from c:\users\andrei\appdata\local\programs\python\python38-32\lib\site-packages\virtualenv\__init__.py

Создадим директорию, в которой будем хранить виртуальные окружения.

cd ~ mkdir virtualenvs cd virtualenvs

Создадим новое виртуальное окружение, которое назовём test_env

virtualenv test_env

Или, если мы хотим явно указать, что нужно создать виртуальное окружение именно для Python3.

virtualenv -p python3 test_env

У меня по умолчанию создается для Python3, но в Вашей системе это может быть не так, поэтому второй вариант предпочтительнее.

created virtual environment CPython3.8.2.final.0-32 in 1410ms creator CPython3Windows(dest=C:\Users\Andrei\virtualenvs\test_env, 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

Зайдём внутрь test_env и посмотрим, что там находится

cd test_env dir

Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 6/5/2020 9:35 PM Lib d----- 6/5/2020 9:35 PM Scripts -a---- 6/5/2020 9:35 PM 42 .gitignore -a---- 6/5/2020 9:35 PM 421 pyvenv.cfg

cd test_env dir

Директория Scripts в Linux будет называться bin.

Перейдём туда и изучим состав.

cd Scripts dir

Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 6/5/2020 9:35 PM 2313 activate -a---- 6/5/2020 9:35 PM 1069 activate.bat -a---- 6/5/2020 9:35 PM 3179 activate.fish -a---- 6/5/2020 9:35 PM 1815 activate.ps1 -a---- 6/5/2020 9:35 PM 1216 activate.xsh -a---- 6/5/2020 9:35 PM 1225 activate_this.py -a---- 6/5/2020 9:35 PM 529 deactivate.bat -a---- 6/5/2020 9:35 PM 97159 easy_install-3.8.exe -a---- 6/5/2020 9:35 PM 97159 easy_install.exe -a---- 6/5/2020 9:35 PM 97159 easy_install3.exe -a---l 6/5/2020 9:35 PM 0 libcrypto-1_1.dll -a---l 6/5/2020 9:35 PM 0 libffi-7.dll -a---l 6/5/2020 9:35 PM 0 libssl-1_1.dll -a---- 6/5/2020 9:35 PM 97150 pip-3.8.exe -a---- 6/5/2020 9:35 PM 97150 pip.exe -a---- 6/5/2020 9:35 PM 97150 pip3.8.exe -a---- 6/5/2020 9:35 PM 97150 pip3.exe -a---- 6/5/2020 9:35 PM 25 pydoc.bat -a---l 6/5/2020 9:35 PM 0 pyexpat.pyd -a---l 6/5/2020 9:35 PM 0 python.exe -a---l 6/5/2020 9:35 PM 0 python3.dll -a---l 6/5/2020 9:35 PM 0 python38.dll -a---l 6/5/2020 9:35 PM 0 pythonw.exe -a---l 6/5/2020 9:35 PM 0 select.pyd -a---l 6/5/2020 9:35 PM 0 sqlite3.dll -a---l 6/5/2020 9:35 PM 0 tcl86t.dll -a---l 6/5/2020 9:35 PM 0 tk86t.dll -a---l 6/5/2020 9:35 PM 0 unicodedata.pyd -a---l 6/5/2020 9:35 PM 0 vcruntime140.dll -a---- 6/5/2020 9:35 PM 97137 wheel-3.8.exe -a---- 6/5/2020 9:35 PM 97137 wheel.exe -a---- 6/5/2020 9:35 PM 97137 wheel3.exe -a---l 6/5/2020 9:35 PM 0 winsound.pyd -a---l 6/5/2020 9:35 PM 0 _asyncio.pyd -a---l 6/5/2020 9:35 PM 0 _bz2.pyd -a---l 6/5/2020 9:35 PM 0 _ctypes.pyd -a---l 6/5/2020 9:35 PM 0 _ctypes_test.pyd -a---l 6/5/2020 9:35 PM 0 _decimal.pyd -a---l 6/5/2020 9:35 PM 0 _elementtree.pyd -a---l 6/5/2020 9:35 PM 0 _hashlib.pyd -a---l 6/5/2020 9:35 PM 0 _lzma.pyd -a---l 6/5/2020 9:35 PM 0 _msi.pyd -a---l 6/5/2020 9:35 PM 0 _multiprocessing.pyd -a---l 6/5/2020 9:35 PM 0 _overlapped.pyd -a---l 6/5/2020 9:35 PM 0 _queue.pyd -a---l 6/5/2020 9:35 PM 0 _socket.pyd -a---l 6/5/2020 9:35 PM 0 _sqlite3.pyd -a---l 6/5/2020 9:35 PM 0 _ssl.pyd -a---l 6/5/2020 9:35 PM 0 _testbuffer.pyd -a---l 6/5/2020 9:35 PM 0 _testcapi.pyd -a---l 6/5/2020 9:35 PM 0 _testconsole.pyd -a---l 6/5/2020 9:35 PM 0 _testimportmultiple.pyd -a---l 6/5/2020 9:35 PM 0 _testmultiphase.pyd -a---l 6/5/2020 9:35 PM 0 _tkinter.pyd

Обратим внимание на скрипты activate, activate.bat и activate.ps1 один из них нам понадобится, а какой - зависит от Вашего окружения.

Под Linux нужен будет activate

Под Windows activate.bat для обычной командной строки или activate.ps1 для PowerShell. не все пакеты работают одинаково, некоторые не поддерживают PowerShell, но какие-то действия проще делать в нём.

Виртуальные окружения в PyCharm

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

Это делается на этапе создания проекта

Выбор виртуального окружения при создании проекта в PyCharm www.andreyolegovich.ru

По умолчанию доступны virtualenv, pipenv и conda

Выбор виртуального окружения при создании проекта в PyCharm www.andreyolegovich.ru

Название для окружения задаётся здесь:

Выбор виртуального окружения при создании проекта в PyCharm www.andreyolegovich.ru

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

Выбор виртуального окружения при создании проекта в PyCharm www.andreyolegovich.ru

Если остались вопросы - смело задавайте их в комментариях.

Поиск по сайту
Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: