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

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

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

Использование виртуальных окружений
Виртуальное окружение — это уникальное сочетание интерпретатора 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, выполнив следующие действия.

- Чтобы изменить окружение для проекта, щелкните правой кнопкой мыши узел Окружения Python в обозревателе решений и выберите Добавить окружение или выберите Добавить окружение из раскрывающегося списка окружений на панели инструментов Python. В открывшемся диалоговом окне Добавление окружения выберите вкладку Виртуальное окружение:
- Укажите имя виртуального окружения, выберите базовый интерпретатор и проверьте его расположение. В разделе Install packages from file (Устанавливать пакеты из файла) укажите путь к файлу requirements.txt, если нужно.
- Проверьте другие параметры в диалоговом окне.
| Параметр | Описание |
|---|---|
| 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 (Сделать это окружение доступным глобально) | Указывает, нужно ли сделать это виртуальное окружение глобальным. При использовании этого варианта виртуальное окружение следует размещать за пределами конкретных проектов. |
Активация существующего виртуального окружения
Если у вас уже есть виртуальное окружение, его можно активировать для проекта следующим образом:
- В обозревателе решений щелкните правой кнопкой мыши Окружения Python и выберите Добавить окружение.
- Откроется диалоговое окно Обзор. Найдите и выберите здесь папку с виртуальным окружением, а затем нажмите кнопку ОК. Если Visual Studio обнаружит в этом окружении файл requirements.txt, появится запрос на установку обнаруженных пакетов.
- Через несколько секунд виртуальное окружение появится в узле Окружения Pythonобозревателя решений. Виртуальное окружение не активируется по умолчанию, поэтому щелкните его правой кнопкой мыши и выберите действие Активировать окружение.
Удаление виртуального окружения
- В обозревателе решений щелкните правой кнопкой мыши виртуальное окружение и выберите Удалить.
- В Visual Studio вам будет предложено выбрать нужное действие (убрать или удалить виртуальное окружение). Вариант Убрать означает, что окружение исчезнет из проекта, но сохранится в файловой системе. Если выбрать Удалить, окружение убирается из проекта и все его файлы удаляются из файловой системы. Это действие не затрагивает базовый интерпретатор.
Просмотр установленных пакетов
В Обозревателе решений можно развернуть узел любого окружения, чтобы быстро просмотреть установленные в нем пакеты (те, которые можно импортировать и применять в коде, когда активно это окружение):

Чтобы установить новые пакеты, щелкните окружение правой кнопкой мыши и выберите действие 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»
Как удалить пакеты которые не используются в проекте из виртуального окружения?
Доброе время суток, подскажите пожалуйста столкнулся с такой проблемой.
Когда отдаю проект админам я все используемые пакеты в venv записываю в requirements.txt
Они там накатывают проект используя pip3 install -r requirements.txt
В чем суть вопроса: в ходе разработки приложения, я устанавливаю какой то пакет что то пробую, иногда что то не получается или другой пакет для решения данной задачи подходит лучше. И часто разработчики забывают удалять этот пакет. Он остается в зависимостях в venv и соответственно попадает в requirements.txt. Админы накатывают этот пакет хотя реально он там и не используется.
Вопрос, можно ли как то автоматически выявить такие пакеты и избавится от них?
Например автоматически деинсталировать их что бы они не попадали в requirements.txt
Тут наверное нужна какая то штука которая бы анализировала импорты в файлах проекта.
Но что то такова я не нашел.
- Вопрос задан 27 мая 2023
- 270 просмотров
Комментировать
Решения вопроса 1

Потому что надёжного метода анализа зависимостей нет.
Импорты в питоне могут быть условными, выполняться в разное время, или вообще выполняться динамически через importlib.
Я бы сказал, вспомнить, какие пакеты тебе требуются, очистить окружение, поставить их, погонять приложение и пособирать недостающее.
А на будущее — когда тестируешь пакет, делай отдельную ветку в системе управления версиями, и отдельное окружение. Только когда пакет устоялся, делаешь merge.
Как удалить venv python



Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required
Установка и использование virtualenv в Python
virtualenv — это инструмент для создания изолированной среды Python. У такой среды есть отдельна установка python, при ее использовании загруженные библиотеки недоступны другим. Можно сделать так, чтобы у этой среды не было доступа к глобальным библиотекам.
Virtualenv — простой и рекомендованный способ настройки среды Python.
Отличия virtualenv и venv
Venv — это пакет, который идет по умолчанию с Python 3.3+. В версии Python 2 его нет.
Virtualenv — более продвинутая библиотека. По ссылке можно ознакомиться с основными отличиями.
Виртуальную среду можно создать и с помощью venv, но все-таки рекомендуется установить и использовать virtualenv для полноценной работы.
Установка virtualenv с помощью pip
Для установки virtualenv с Python нужно использовать pip. Желательно предварительно обновить этот инструмент.
python -m pip install --upgrade pip
Или используйте python3 , если python ссылается на 2 версию.
После обновления можно установить и virtualenv:
pip install virtualenv # или pip3
Создание виртуальной среды
1. Перейдите в директорию, в которой вы хотите создать виртуальную среду(например папка проекта).
~$ cd test ~/test$
2. Создайте виртуальную среду, при необходимости указав конкретную версию Python. Следующая команда создает virtualenv с именем venv_name и использует флаг -p , чтобы указать полный путь к версии Python:
virtualenv -p /usr/bin/python venv_name # или virtualenv venv_name
Назвать среду можно как угодно
После выполнения команды вы увидите логи:
Running virtualenv with interpreter /usr/bin/python Already using interpreter /usr/bin/python Using base prefix '/usr' New python executable in /home/username/test/venv_name/bin/python Installing setuptools, pip, wheel. done.
Эта команда создает локальную копию среды. Работая с ней, важно не забывать об активации, чтобы использовались нужные версии конкретных инструментов и пакетов.
Если при установке возникла ошибка setuptools pip failed with error code 1` error , используйте следующую команду, чтобы решить проблему:
pip install --upgrade setuptools # или pip3
3. Для активации новой виртуальной среды используйте команду:
source venv_name/bin/activate
После этого название текущей среды отобразится слева от символа ввода: (venv_name) username@desctop:~/test$
Теперь при установке любого пакета с помощью pip он будет размещаться в папках этой среды, изолированно от глобальной установки.
Деактивации virtualenv
После завершения работы деактивировать виртуальную среду можно с помощью команды deactivate .
Введите ее и приставка venv_name пропадет. Вы вернетесь к использованию глобально версии python.
Удаление виртуальной среды
Для удаления виртуальной среды достаточно просто удалить папку проекта. Для этого используется следующая команда:
rm -rf venv_name
Решение популярных ошибок
Ошибки при создании virtualenv. При попытке создать virtualenv с Python 3.7 могут возникнуть следующие ошибки.
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader' OSError: Command /home/username/venv/bin/python3 -c "import sys, pip; sys. d\"] + sys.argv[1:]))" setuptools pip failed with error code 1
Для их исправления нужно добавить следующую строку в .bash_profile.
export LC_ALL="en_US.UTF-8"
Использование полного пути к виртуальной среде. Может быть такое, что при использовании команды virtualenv будет использована не та версия. Для решения проблемы нужно лишь задать полные пути как к virtualenv, так и к Python в системе.
А получить их можно с помощью этой команды:
/home/username/opt/python-3.8.0/bin/virtualenv -p /home/username/opt/python-3.8.0/bin/python3 venv