Работа в virtualenv Python
В этой статье мы обсудим работу в виртуальном окружении.
Установку virtualenv мы рассматривали в предыдующей
статье
Мы находимся в директории virtualenvs внутри которой мы создали
виртуально окружение для Python3, которое называется test_env
Чтобы активировать вируальное окружение test_env
из стандартоной cmd в Windows выполните
test_env\Scripts\activate.bat
Если Вы в PowerShell выполните
test_env\Scripts\activate.ps1
А если Вы под Linux выполните
. test_env/bin/activate
При успешной активации слева в командной строке появится название виртуального окружения в круглых скобках (test_env)
(test_env) PS C:\Users\Andrei\virtualenvs>
Если ничего не произошло прочитайте совет в моей статье
«Сложности при работе с Python»
Первое, что стоит сделать после первого входа в новое окружение - это проверить версию Python и Pip
python -V
Python 3.8.2
pip -V
pip 20.1.1 from C:\Users\Andrei\virtualenvs\test_env\lib\site-packages\pip (python 3.8)
Проверим, какие модули установлены в новом вирутальном окружении
python -m pip list
Package Version ---------- ------- pip 20.1.1 setuptools 46.4.0 wheel 0.34.2
Модулей всего три, это означает, что действительно, что-то изменилось.
Сравните с количеством модулей, которое установленов системе из урока
pip
Установим requests в виртуальном окружении
python -m pip install requests
Collecting requests Downloading requests-2.23.0-py2.py3-none-any.whl (58 kB) |████████████████████████████████| 58 kB 609 kB/s Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 Downloading urllib3-1.25.9-py2.py3-none-any.whl (126 kB) |████████████████████████████████| 126 kB 2.2 MB/s Collecting chardet<4,>=3.0.2 Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB) |████████████████████████████████| 133 kB 2.2 MB/s Collecting certifi>=2017.4.17 Downloading certifi-2020.4.5.2-py2.py3-none-any.whl (157 kB) |████████████████████████████████| 157 kB 3.2 MB/s Collecting idna<3,>=2.5 Downloading idna-2.9-py2.py3-none-any.whl (58 kB) |████████████████████████████████| 58 kB 1.6 MB/s Installing collected packages: urllib3, chardet, certifi, idna, requests Successfully installed certifi-2020.4.5.2 chardet-3.0.4 idna-2.9 requests-2.23.0 urllib3-1.25.9
Проверим какие пакеты установились
python -m pip list
Package Version ---------- ---------- certifi 2020.4.5.2 chardet 3.0.4 idna 2.9 pip 20.1.1 requests 2.23.0 setuptools 46.4.0 urllib3 1.25.9 wheel 0.34.2
request подтянул за собой ещё четыре пакета: certifi, chardet, idna, urllib3
Проверить куда установился requests в этом окружении можно командой
python -m pip show requests
Name: requests Version: 2.23.0 Summary: Python HTTP for Humans. Home-page: https://requests.readthedocs.io Author: Kenneth Reitz Author-email: me@kennethreitz.org License: Apache 2.0 Location: c:\users\andrei\virtualenvs\test_env\lib\site-packages Requires: chardet, certifi, urllib3, idna Required-by:
Чтобы выйти из виртуального окружения используем команду
deactivate
Если сейчас выполнить
python -m pip show requests
WARNING: Package(s) not found: requests
Можно увидеть, что глобально requests вообще не установлен
Начиная с версии Python 3.6 рекомендуется создавать виртуальные окружения командой
python -m venv myvenv
Активируется окружение так же
myvenv\Scripts\Activate.ps1
(myvenv) PS C:\Users\Andrei\virtualenvs>
Не знаю как у Вас, а у меня в PowerShell (myvenv), созданный с помощью venv подсвечен зелёным, а test_env, созданный с помощью virtualenv остаётся серым.
Удаление вируального окружения
Чтобы удалить виртуальное окружение - просто удалите папку