Как активировать виртуальное окружение в python на windows
Перейти к содержимому

Как активировать виртуальное окружение в python на windows

  • автор:

Выбор среды Python для проекта в Visual Studio

Весь код в проекте Python выполняется в контексте определенного окружения, например в глобальном окружении Python, окружении Anaconda, виртуальном окружении или окружении Conda. Visual Studio использует это же окружение для отладки, импорта, автозавершения элементов, проверки синтаксиса и других задач, требующих языковые службы, которые характерны для данной версии Python и набора установленных пакетов.

Для всех новых проектов Python в Visual Studio настраивается глобальное окружение по умолчанию, которое указано в узле Окружения Python в обозревателе решений:

Global default Python environment shown in Solution Explorer

Чтобы изменить окружение для проекта, щелкните правой кнопкой мыши узел Окружения Python и выберите Добавить окружение. Можно также выбрать пункт Добавить окружение в раскрывающемся списке сред на панели инструментов Python.

Когда откроется диалоговое окно Добавление окружения, перейдите на вкладку Существующее окружение и выберите новое окружение из раскрывающегося списка Окружение:

Selecting a project environment in the Add Environments dialog

Если вы уже добавили в проект окружение, отличное от стандартного глобального окружения, для него может потребоваться активация. Щелкните окружение правой кнопкой мыши в узле Окружения Python и выберите действие Активировать окружение. Чтобы удалить из проекта окружение, выберите действие Удалить.

Activating and removing a project environment

Использование виртуальных окружений

Виртуальное окружение — это уникальное сочетание интерпретатора Python и набора библиотек, которое не повторяется в других глобальных окружениях и окружениях Conda. Виртуальное окружение предназначено для конкретного проекта, и данные о нем хранятся в папке проекта. В этой папке содержатся установленные библиотеки окружения и файл pyvenv.cfg, в котором указан путь к базовому интерпретатору, расположенному в другом месте файловой системы. То есть в виртуальном окружении нет копии интерпретатора, а только ссылка на него.

Преимуществом виртуального окружения является то, что в нем по мере разработки проекта всегда будут отражаться точные зависимости проекта. (С другой стороны, общая глобальная среда содержит любое количество библиотек, которые используются в проекте. Затем можно легко создать файл requirements.txt из виртуальной среды, который затем используется для переустановки этих зависимостей на другом компьютере разработки или рабочей среды. Дополнительные сведения см. в руководстве по управлению необходимыми пакетами с помощью requirements.txt.

Если в Visual Studio открыть проект, который содержит файл requirements.txt, Visual Studio автоматически позволит воссоздать виртуальное окружение. На тех компьютерах, где не установлена среда Visual Studio, можно восстанавливать пакеты с помощью команды pip install -r requirements.txt .

Учитывая то, что в виртуальном окружении жестко запрограммирован путь к базовому интерпретатору и можно воссоздать окружение с помощью файла requirements.txt, обычно вся папка виртуального окружения не указывается в системе управления версиями.

В следующих разделах объясняется, как активировать существующее виртуальное окружение в проекте и создать новое виртуальное окружение.

В Visual Studio виртуальное окружение для проекта активируется так же, как и любое другое окружение: с помощью узла Окружения Python в обозревателе решений.

Если виртуальное окружение добавлено в проект, оно появится в окне Окружения Python. После этого вы сможете активировать его, как и любое другое окружение, и управлять его пакетами.

Создание виртуальной среды

Виртуальное окружение можно создать напрямую в Visual Studio, выполнив следующие действия.

Virtual environment tab of the Add Environment dialog box

  1. Чтобы изменить окружение для проекта, щелкните правой кнопкой мыши узел Окружения Python в обозревателе решений и выберите Добавить окружение или выберите Добавить окружение из раскрывающегося списка окружений на панели инструментов Python. В открывшемся диалоговом окне Добавление окружения выберите вкладку Виртуальное окружение:
  2. Укажите имя виртуального окружения, выберите базовый интерпретатор и проверьте его расположение. В разделе Install packages from file (Устанавливать пакеты из файла) укажите путь к файлу requirements.txt, если нужно.
  3. Проверьте другие параметры в диалоговом окне.

Параметр Описание
Set as current environment (Установить в качестве текущего окружения) После создания окружения активирует его в выбранном проекте.
Set as default environment for new projects (Установить в качестве окружения по умолчанию для новых проектов) Автоматически устанавливает окружение и активирует его во всех новых проектах, которые создаются в Visual Studio. При использовании этого варианта виртуальное окружение следует размещать за пределами конкретных проектов.
View in Python Environments window (Просмотреть в окне окружений Python) Указывает, нужно ли открывать окно Окружения Python после создания окружения.
Make this environment available globally (Сделать это окружение доступным глобально) Указывает, нужно ли сделать это виртуальное окружение глобальным. При использовании этого варианта виртуальное окружение следует размещать за пределами конкретных проектов.

Активация существующего виртуального окружения

Если у вас уже есть виртуальное окружение, его можно активировать для проекта следующим образом:

  1. В обозревателе решений щелкните правой кнопкой мыши Окружения Python и выберите Добавить окружение.
  2. Откроется диалоговое окно Обзор. Найдите и выберите здесь папку с виртуальным окружением, а затем нажмите кнопку ОК. Если Visual Studio обнаружит в этом окружении файл requirements.txt, появится запрос на установку обнаруженных пакетов.
  3. Через несколько секунд виртуальное окружение появится в узле Окружения Pythonобозревателя решений. Виртуальное окружение не активируется по умолчанию, поэтому щелкните его правой кнопкой мыши и выберите действие Активировать окружение.

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

  1. В обозревателе решений щелкните правой кнопкой мыши виртуальное окружение и выберите Удалить.
  2. В Visual Studio вам будет предложено выбрать нужное действие (убрать или удалить виртуальное окружение). Вариант Убрать означает, что окружение исчезнет из проекта, но сохранится в файловой системе. Если выбрать Удалить, окружение убирается из проекта и все его файлы удаляются из файловой системы. Это действие не затрагивает базовый интерпретатор.

Просмотр установленных пакетов

В Обозревателе решений можно развернуть узел любого окружения, чтобы быстро просмотреть установленные в нем пакеты (те, которые можно импортировать и применять в коде, когда активно это окружение):

Python packages for an environment in Solution Explorer

Чтобы установить новые пакеты, щелкните окружение правой кнопкой мыши и выберите действие Manage Python Packages (Управление пакетами Python). В окне Окружения Python откроется соответствующая вкладка Пакеты. На вкладке Пакеты введите условие поиска (обычно это имя пакета), и Visual Studio отобразит все подходящие пакеты.

Пакеты (и зависимости) в Visual Studio для большинства окружений скачиваются из репозитория Python Package Index (PyPI). В нем же вы можете искать доступные пакеты. В строке состояния Visual Studio и окне вывода отображаются сведения об установке. Чтобы удалить пакет, щелкните его правой кнопкой мыши и выберите Удалить.

Обычно диспетчер пакетов conda по умолчанию использует канал https://repo.continuum.io/pkgs/ , но доступны и другие каналы. Дополнительные сведения см. в статье Управление каналами (docs.conda.io).

Не забывайте, что отображаемые записи могут быть неточными, а задания установки и удаления — ненадежными или недоступными. Visual Studio использует диспетчер пакетов pip, если он доступен, и при необходимости скачивает и устанавливает его. Visual Studio также может использовать диспетчер пакетов простой установки (easy_install). Здесь же отображаются пакеты, установленные с помощью команд pip или easy_install из командной строки.

Обратите внимание, что сейчас Visual Studio не поддерживает использование conda для установки пакетов в окружении Conda. Вместо этого используйте conda из командной строки.

Если пакет содержит исходный код собственных компонентов в файлах с расширением .pyd, попытка pip установить пакет завершается сбоем. Если необходимая версия Visual Studio не установлена, pip не может скомпилировать эти компоненты. В этом случае отображается такое сообщение: Ошибка: не удалось найти vcvarsall.bat. Как правило, диспетчер easy_install может скачать предварительно скомпилированные двоичные файлы. Подходящий компилятор для более старых версий Python можно скачать по адресу https://python.en.uptodown.com/windows/versions. Дополнительные сведения см. в записи блога команды разработчиков Python How to deal with the pain of “unable to find vcvarsall.bat” (Что делать в случае возникновения ошибки «Не удалось найти vcvarsall.bat»).

Связанный контент

  • Управление окружениями Python в Visual Studio
  • Использование файла requirements.txt для зависимостей
  • Пути поиска
  • Справочная информация по окну «Окружения Python»

Python venv на Windows 10

Небольшая памятка по установке и настройке виртуальной среды Python на Windows 10.

0. Установить Python.

  1. Прописать пути к Python в %PATH%.
  2. Перезагрузить компьютер.
  3. Проверить версию Python в cmd, запустить Python Shell в cmd:
python --version
Python 3.8.2
python
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

4. Если все работает, то создаем виртуальную среду:

python -m venv env

5. В директории должны появиться папки:

6. Если не появились, то проверяем версии Python, пути к Python и если ничего не помогает, то переустанавливаем или обновляем с сайта.

7. Если все появилось, то в папке Scripts должен будет лежать файл activate.

8. Запускаем скрипт активации виртуальной среды:

env\Scripts\activate

9. На это шаге возможна следующая ошибка: выполнение сценариев отключено в этой системе.

10. Включаем выполнение сценариев. Отрываем powershell от имени администратора:

11. Прописываем следующую команду:

Set-ExecutionPolicy RemoteSigned

12. После этого возвращаемся к терминалу, в котором работали при создании виртуальной среды и активируем её ещё раз:

env\Scripts\activate

Виртуальное окружение Python в Windows

Виртуальное окружение в Python — это способ изолировать зависимости (пакеты) проекта.

Создание виртуального окружения происходить через модуль venv, который идёт в поставке Python 3.

Используется команда «python −m venv» и название директории, в которой будет создано виртуальное окружение. Пример:

mkdir project cd project python -m venv env

Для активации окружение запускается скрипт внутри директории в которой нужно окружение: activate.bat. Затем выполнить необходимые операции, допустим установить пакет.

По окончанию работы запустить скрипт деактивации: deactivate.bat.

Предположим, что проект создан в папке e:\home\python\project\, набор команд будет следующий

e:\home\python\project\env\Scripts\activate.bat # установка зависимостей pip install requests e:\home\python\project\env\Scripts\deactivate.bat

Виртуальные окружения — Python: Настройка окружения

Вы уже знаете, что pip устанавливает пакеты в одно из двух окружений — в общесистемное или пользовательское. Интерпретатор Python при импорте модуля или пакета ищет его сначала в пользовательском окружении, затем — в общесистемном. Такая последовательность позволяет пользователю иметь нужные именно ему версии библиотек и Python-программ.

Но даже двух окружений недостаточно, когда программист начинает работать с несколькими проектами, ведь разные проекты могут иметь разные наборы зависимостей. Еще более тяжелый случай: разные проекты могут зависеть от общей библиотеки, но требовать разные ее версии — тогда происходит конфликт версий.

Очевидно, что разработчику на Python нужен какой-то механизм, позволяющий содержать разные проекты в изолированных песочницах. Такой механизм существует. Он называется виртуальные окружения.

Устройство виртуальных окружений

Каждое виртуальное окружение представляет собой директорию. Ее содержимое структурно напоминает общесистемное окружение — поддиректории соответственно названы и наполнены. Давайте рассмотрим пример:

env env ├── bin │ ├── activate │ … │ ├── pip │ … │ └── python3 -> …/python3 ├── lib │ └── python3.6 │ └── site-packages │ ├── pip │ │ ├── … │ … │ └── setuptools-40.6.2.dist-info │ ├── … … 

В директории виртуального окружения находится директория bin/ , внутри которой расположены:

  • Копия интерпретатора под именем python3 (символическая ссылка на оригинал)
  • Копия исполняемого файла pip

В соседней директории по пути lib/python3.6/site-packages есть библиотеки, уже установленные в окружение. Как правило, только что созданное окружение имеет:

  • Установленный пакет pip (исполняемый файл bin/pip — его точка входа)
  • Пакет Setuptools

Эти два пакета составляют необходимый минимум для разработки проекта на Python.

При работе в окружении нужно запускать не системные Python и pip, а исполняемые файлы из директории bin . Когда интерпретатор Python находится в окружении, он знает, где находятся все доступные пакеты. Интерпретатор находит их по относительному пути ../lib/python3.6 . В таком случае копия pip из директории bin/ устанавливает пакеты в это же окружение, не затрагивая систему. Получается та самая изоляция, о которой мы говорили в начале урока.

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

Вручную создавать всю описанную иерархию директорий и файлов не нужно — для этого есть специальный модуль venv .

В macOS и Windows этот модуль входит в поставку Python. На Ubuntu его нужно установить отдельно командой:

sudo apt install python3-venv 

Проверим, что модуль установился и готов к использованию:

-m venv --help usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip] [--prompt PROMPT] ENV_DIR [ENV_DIR . ] 

Обычно окружение создается командой python3 -m venv имя_окружения . Давайте попробуем создать виртуальное окружение и установить туда пакет cowsay :

Вы можете видеть, что пакет устанавливается вместе с точкой входа, которую можно вызвать командой first_venv/bin/cowsay . Также сам пакет становится доступен интерпретатору, но только тому, что был запущен из окружения.

В таком виде виртуальное окружение уже можно использовать полноценно. Но постоянно вводить команды с префиксом first_venv/bin/ не очень удобно. Есть способ упростить вызов команд, доступных в окружении — это активация.

Активация окружения

При создании окружения в поддиректорию bin помещается сценарий оболочки, который на macOS и Ubuntu называется activate , а на Windows — activate.bat . Чтобы выполнить этот сценарий, нужно вызвать команду:

  • на macOS и Ubuntu:
source first_venv/bin/activate 
  • на Windows:
\> first_venv\Scripts\activate.bat 

В команде выше обратите внимание, что в Windows поддиректория с исполняемыми файлами называется не bin , а Scripts .

На Ubuntu активация выглядит следующим образом:

После активации отпала необходимость указывать путь до вызываемого исполняемого файла. Теперь cowsay и python вызываются без префикса, но это все те же команды из окружения.

Еще изменилось приглашение оболочки: в нем стало отображаться имя окружения. Это работает на macOS и Ubuntu и всегда напоминает, что мы находимся в виртуальном окружении.

Деактивация окружения делается командой deactivate , которая становится доступна после активации.

Активация и деактивация окружения влияют только на текущую сессию — то есть заметны только в этом конкретном терминале. Это удобно, потому что так можно иметь несколько окружений и активировать их одновременно в разных окнах терминала.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов

Наши выпускники работают в компаниях:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *