Работа в 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
>>>import sys
>>>sys.prefix
'/home/andrei/pytest/venv'
>>>sys.base_prefix
'/home/andrei/.pyenv/versions/3.9.5'

sys.prefix отличается от sys.base_prefix значит используется Python из виртуального окружения.

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

/home/andrei/pytest/venv/bin/python /home/andrei/pytest/main.py

Process finished with exit code 0

/home/andrei/pytest/venv/bin/python

- это путь до использованного Python

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

/usr/bin/python3.8

Проверка версии

Первое, что стоит сделать после первого входа в новое окружение - это проверить версию 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

Заново активируется окружение так же, например, для PowerShell

myvenv\Scripts\Activate.ps1

(myvenv) PS C:\Users\Andrei\virtualenvs>

Не знаю как у Вас, а у меня в PowerShell (myvenv), созданный с помощью venv подсвечен зелёным, а test_env, созданный с помощью virtualenv остаётся серым.

Удаление вируального окружения

Чтобы удалить виртуальное окружение - просто удалите папку

Article author: Andrei Olegovich

Похожие статьи
virtualenv
Установка virtualenv
Применение virtualenv
freeze
virtualenvwrapper
Виртуальное окружение
Python
Anaconda
pyenv
venv
Banner image

Search this site

Subscribe to Telegram channel @aofeed to follow new articles and updates to old ones

Go to channel

@aofeed

Ask a question in the Telegram group

@aofeedchat

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: