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

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

  • автор:

Установка и использование 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

Создание сред Python и управление ими в Visual Studio

Окружение Python представляет собой контекст, в котором выполняется код Python. Различают глобальные, виртуальные окружения и окружения Conda. Окружение состоит из интерпретатора, библиотеки (обычно это стандартная библиотека Python) и нескольких установленных пакетов. Вместе они определяют языковые конструкции и синтаксис, доступные возможности операционной системы и пригодные для использования пакеты.

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

  • Для каждого конкретного проекта можно выбрать конкретное окружение вместо варианта по умолчанию.
  • Дополнительные сведения о создании и использовании виртуальных окружений для проектов Python см. в разделе Использование виртуальных окружений.
  • Если вы хотите установить пакеты в окружении, см. справочник по вкладке «Пакеты».
  • Чтобы установить другой интерпретатор Python, см. раздел Установка интерпретаторов Python. Как правило, если вы скачиваете и запускаете установщик для основного дистрибутива Python, Visual Studio обнаруживает эту новую установку, это окружение отображается в окне Окружения Python и может быть выбрано для проектов.

Если вы только начинаете работу с Python в Visual Studio, можете ознакомиться с базовыми сведениями в следующих статьях:

  • Работа с Python в Visual Studio
  • Установка средств для поддержки Python в Visual Studio

Вы можете управлять окружениями для кода Python, который открыт в качестве папки с помощью команды Файл>Открыть>Папка. Панель инструментов Python позволяет переключаться между всеми обнаруженными окружениями, а также добавлять новые окружения. Сведения об окружении хранятся в файле PythonSettings.json в папке .vs рабочей области.

Окно «Окружения Python»

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

  • Выберите команду меню Просмотр>Другие окна>Окружения Python.
  • В обозревателе решений щелкните правой кнопкой мыши узел Окружения Python в нужном проекте и выберите Просмотреть все окружения Python.

Screenshot of the View All Environments command in Solution Explorer-2019

Screenshot of the View All Environments command in Solution Explorer-2022

В любом случае окно Окружения Python открывается на одном уровне с Обозревателем решений:

Screenshot of Python Environments window-2019

Screenshot of Python Environments window-2022

Visual Studio ищет установленные глобальные окружения с помощью реестра (следуя по PEP 514), а также виртуальные окружения и окружения Conda (см. Типы окружений). Если нужное окружение не отображается в списке, ознакомьтесь с разделом Указание существующего окружения вручную.

При выборе окружения в списке на вкладке Обзор Visual Studio отображаются различные свойства и команды для этого окружения.

Например, как видно на рисунке выше, интерпретатор находится в папке C:\Python36-32. Четыре команды в нижней части вкладки Обзор открывают командную строку с выполняющимся интерпретатором. Дополнительные сведения см. в статье Справочная информация по вкладкам окна «Окружения Python»-2019 — обзор.

Например, на рисунке видно, что интерпретатор находится в папке C:\Program Files (x86)\Microsoft Visual Studio\Python310. Четыре команды в нижней части вкладки Обзор открывают командную строку с выполняющимся интерпретатором. Дополнительные сведения см. в статье Справочная информация по вкладкам окна «Окружения Python»-2022 — обзор.

Используйте раскрывающийся список под списком окружений для перехода к различным вкладкам, таким как Пакеты и IntelliSense. Эти вкладки также описаны в справочнике по вкладкам окна «Окружения Python».

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

Справа от каждого окружения в списке есть элемент управления, который позволяет открыть интерактивное окно для этого окружения. (В Visual Studio 2017 15.5 и более ранних версиях может отображаться другой элемент управления. Он предназначен для обновления базы данных IntelliSense для этого окружения. Дополнительные сведения о базе данных см. в разделе об окне окружений.)

Screenshot of Python Environments window expanded view-2019.

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

Screenshot of Python Environments window expanded view-2022.

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

Несмотря на то что Visual Studio учитывает параметр system-site-packages, его нельзя изменить из среды Visual Studio.

Что делать, если окружения не отображаются?

Если окружения не отображаются, значит Visual Studio не удалось обнаружить ни одной установки Python в стандартных расположениях. Такое может случиться, если после установки Visual Studio 2017 или более поздней версии вы очистили все параметры интерпретаторов в настройках установщика для рабочей нагрузки Python. Возможно, вы не установили интерпретатор для Visual Studio 2015 или более ранней версии. Дополнительные сведения см. в статье Установка интерпретаторов Python.

Если вы точно знаете, что на компьютере установлен интерпретатор Python, но Visual Studio (любая версия) не может его обнаружить, укажите его расположение вручную с помощью команды + Настраиваемый. Дополнительные сведения см. в следующем разделе Указание существующего окружения вручную.

Типы сред

Visual Studio может работать с глобальными, виртуальными окружениями и окружениями Conda.

Глобальные среды

Каждая установка Python поддерживает собственное глобальное окружение. Например, Python 2.7, Python 3.6, Python 3.7, Anaconda 4.4.0 и т. д. См. Установка интерпретаторов Python.

Каждое окружение состоит из определенного интерпретатора Python, его стандартной библиотеки, набора предварительно установленных пакетов и любых дополнительных пакетов, устанавливаемых при активации этого окружения. Установив пакет в глобальном окружении, мы предоставляем к нему доступ для всех проектов, в которых оно используется. Если окружение находится в защищенной области файловой системы (например, в C:\Program files), для установки пакетов требуются права администратора.

Глобальные окружения доступны для всех проектов на компьютере. В Visual Studio вы можете выбрать одно глобальное окружение по умолчанию, которое будет использоваться для всех проектов, если вы не укажете другое для определенного проекта. Дополнительные сведения см. в разделе о выборе окружения для проекта.

Виртуальные среды

Работа в глобальном окружении — это простой способ приступить к работе. Со временем окружения будут перегружены множеством разных пакетов, установленных для различных проектов. Такой объем содержимого затрудняет тщательное тестирование приложения на соответствие определенному набору пакетов с известными версиями. Но тип окружения будет таким, как выше, который вы настроили бы для сервера сборки или на веб-сервере. Когда двум проектам требуются несовместимые пакеты или разные версии одного пакета, могут возникать конфликты.

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

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

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

В Visual Studio также доступна команда для создания файла requirements.txt из виртуального окружения, что позволяет легко воссоздать окружение на других компьютерах. См. дополнительные сведения о виртуальных окружениях.

Окружения Conda

Окружение Conda создается с помощью средства conda или интегрированного управления Conda в Visual Studio 2017 версии 15.7 и более поздних версий. (Требуется Anaconda или Miniconda, которые можно установить через Visual Studio Installer, подробнее см. в разделе Установка Visual Studio 2017.)

Screenshot of Conda environment tab in the Add environment dialog-2019.

  1. Выберите + Добавить окружение в окне Окружения Python (или на панели инструментов Python), чтобы открыть диалоговое окно Добавление окружения.
  2. В диалоговом окне «Добавление окружения» выберите вкладку Окружение Conda:
  3. Задайте значения в следующих полях:
Поле Description
Project Проект, в котором вы создаете окружение (если в вашем решении Visual Studio есть несколько проектов).
Имя. Имя среды Conda.
Add packages from (Добавить пакеты из) Выберите Environment file (Файл окружения), если у вас есть файл environment.yml с описанием зависимостей, или выберите One or more Anaconda package names (Имена одного или нескольких пакетов Anaconda) и отметьте хотя бы один пакет Python или версию Python в поле ниже. Этот список пакетов передает Conda задание на создание окружения Python. Чтобы установить последнюю версию Python, используйте python . Чтобы установить определенную версию, используйте python=,major>. , как показано в python=3.7 . Кнопка пакета позволяет выбрать версии Python и общие пакеты из нескольких меню.
Set as current environment (Установить в качестве текущего окружения) После создания окружения активирует его в выбранном проекте.
Set as default environment for new projects (Установить в качестве окружения по умолчанию для новых проектов) Автоматически устанавливает среду Conda и активирует ее во всех новых проектах, которые создаются в Visual Studio. Этот параметр эквивалентен параметру Make this the default environment for new projects (Назначить это окружение по умолчанию для новых проектов) в окне Окружения Python.
View in Python Environments window (Просмотреть в окне окружений Python) Указывает, нужно ли отобразить окно Окружения Python после создания окружения.

Важно! При создании среды Conda обязательно укажите хотя бы одну версию Python или пакет Python с помощью environments.yml или списка пакетов, чтобы окружение содержало среду выполнения Python. В противном случае Visual Studio игнорирует окружение, то есть оно не отображается в окне Окружения Python и его нельзя задать в качестве текущего окружения для проекта и глобального окружения. Если вы случайно создадите среду Conda без версии Python, выполните команду conda info , чтобы просмотреть расположения папок среды Conda и вручную удалите вложенную папку окружения из этого расположения.

Screenshot after successful creation of a conda environment-2019.

  • Выберите Создать и отслеживайте ход выполнения в окне вывода. Выходные данные после завершения создания возвращают несколько инструкций CLI:
  • В Visual Studio можно активировать окружение conda для проекта так же, как любое другое окружение, как описано в статье Выбор окружения для проекта.
  • Установить дополнительные пакеты в окружении можно на вкладке Пакеты.
  • Screenshot of Conda environment tab in the Add environment dialog-2022.

    1. Выберите + Добавить окружение в окне Окружения Python (или на панели инструментов Python), чтобы открыть диалоговое окно Добавление окружения.
    2. В диалоговом окне «Добавление окружения» выберите вкладку Окружение Conda:
    3. Задайте значения в следующих полях:
    Поле Description
    Project Проект, в котором вы создаете окружение (если в вашем решении Visual Studio есть несколько проектов).
    Имя. Имя среды Conda.
    Add packages from (Добавить пакеты из) Выберите Environment file (Файл окружения), если у вас есть файл environment.yml с описанием зависимостей, или выберите One or more Anaconda package names (Имена одного или нескольких пакетов Anaconda) и отметьте хотя бы один пакет Python или версию Python в поле ниже. Этот список пакетов передает Conda задание на создание окружения Python. Чтобы установить последнюю версию Python, используйте python . Чтобы установить определенную версию, используйте python=,major>. , как показано в python=3.7 . Кнопка пакета позволяет выбрать версии Python и общие пакеты из нескольких меню.
    Set as current environment (Установить в качестве текущего окружения) После создания окружения активирует его в выбранном проекте.
    Set as default environment for new projects (Установить в качестве окружения по умолчанию для новых проектов) Автоматически устанавливает среду Conda и активирует ее во всех новых проектах, которые создаются в Visual Studio. Этот параметр эквивалентен параметру Make this the default environment for new projects (Назначить это окружение по умолчанию для новых проектов) в окне Окружения Python.
    View in Python Environments window (Просмотреть в окне окружений Python) Указывает, нужно ли отобразить окно Окружения Python после создания окружения.

    Важно! При создании среды Conda обязательно укажите хотя бы одну версию Python или пакет Python с помощью environments.yml или списка пакетов, чтобы окружение содержало среду выполнения Python. В противном случае Visual Studio игнорирует окружение, то есть оно не отображается в окне Окружения Python и его нельзя задать в качестве текущего окружения для проекта и глобального окружения. Если вы случайно создадите среду Conda без версии Python, выполните команду conda info , чтобы просмотреть расположения папок среды Conda и вручную удалите вложенную папку окружения из этого расположения.

    Screenshot after a successful creation of a conda environment-2022.

  • Выберите Создать и отслеживайте ход выполнения в окне вывода. Выходные данные после завершения создания возвращают несколько инструкций CLI:
  • В Visual Studio можно активировать окружение conda для проекта так же, как любое другое окружение, как описано в статье Выбор окружения для проекта.
  • Установить дополнительные пакеты в окружении можно на вкладке Пакеты.
  • Для оптимальной работы с окружениями conda используйте conda 4.4.8 или более поздней версии (версии conda отличаются от версий Anaconda). Вы можете установить подходящие версии Miniconda (Visual Studio 2019 и Visual Studio 2022) и Anaconda (Visual Studio 2017) через установщик Visual Studio.

    Чтобы просмотреть версию conda, в которой хранятся окружения conda, и другие сведения, запустите conda info в командной строке Anaconda (то есть в командной строке, в пути которой указана Anaconda):

    conda info 

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

     envs directories : C:\Users\user\.conda\envs c:\anaconda3\envs C:\Users\user\AppData\Local\conda\conda\envs 

    Поскольку окружения Conda не хранятся в проекте, они работают как глобальные окружения. Например, если установить пакет в окружении Conda, он станет доступным для всех проектов, в которых используется это окружение.

    Для Visual Studio 2017 версии 15.6 и более ранних версий можно использовать окружения conda, указав на них вручную, как описано в разделе Указание существующего окружения вручную.

    Visual Studio 2017 версии 15.7 и более поздних версий обнаруживает окружения conda автоматически и отображает их в окне Окружения Python, как описано в следующем разделе.

    Указание существующего окружения вручную

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

    1. Выберите + Добавить окружение в окне Окружения Python (или на панели инструментов Python), чтобы открыть диалоговое окно Добавление окружения.
    2. В диалоговом окне «Добавление окружения» выберите вкладку Существующее окружение: Screenshot of existing environment tab in the Add environment dialog-2019.
    3. Щелкните раскрывающийся список Окружение и выберите Пользовательское: Screenshot of custom environment option in the Add environment dialog-2019.
    4. В предоставленных полях в диалоговом окне введите путь к интерпретатору (Prefix path) или найдите его с помощью кнопки . , и большинство других полей заполнятся автоматически.
    5. Просмотрите предложенные значения и измените их при необходимости, а затем щелкните Добавить. Screenshot of fields to specify details for a custom environment option in the Add environment dialog0-2019.

    Сведения об окружении можно просмотреть и изменить в любое время в окне Окружения Python.

    1. Выберите в этом окне нужное окружение Python и перейдите на вкладку Настройка.
    2. Внеся изменения, выберите команду Применить. Вы также можете удалить окружение с помощью команды Удалить (недоступно для автоматически обнаруженных окружений). Дополнительные сведения см. в описании вкладки «Настройка».
    1. Выберите + Добавить окружение в окне Окружения Python (или на панели инструментов Python), чтобы открыть диалоговое окно Добавление окружения.
    2. В диалоговом окне «Добавление окружения» выберите вкладку Существующее окружение: Screenshot of existing environment tab in the Add environment dialog-2022.Например, выберите существующее окружение и путь к существующему окружению.
    3. Щелкните раскрывающийся список Окружение и выберите Пользовательское: Screenshot of custom environment option in the Add environment dialog-2022.Например, Anaconda 2021.05 в C:\Users\user\Anaconda3\python.exe
    4. В предоставленных полях в диалоговом окне введите путь к интерпретатору (Prefix path) или найдите его с помощью кнопки . , и большинство других полей заполнятся автоматически.
    5. Просмотрите предложенные значения и измените их при необходимости, а затем щелкните Добавить. Screenshot of fields to specify details for a custom environment option in the Add environment dialog-2022.

    Сведения об окружении можно просмотреть и изменить в любое время в окне Окружения Python.

    1. Выберите в этом окне нужное окружение Python и перейдите на вкладку Настройка.
    2. Внеся изменения, выберите команду Применить. Вы также можете удалить окружение с помощью команды Удалить (недоступно для автоматически обнаруженных окружений). Дополнительные сведения см. в описании вкладки «Настройка».

    Исправление или удаление недопустимых сред

    Если Visual Studio находит записи реестра для среды, но путь к интерпретатору недопустим, в окне Окружения Python отображается зачеркнутое имя.

    Screenshot of the Python Environments window showing an invalid environment-2019-2022.

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

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

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

    Screenshot of registry entries for a typical CPython installation.

    1. Запустите файл regedit.exe.
    2. Перейдите к разделу HKEY_LOCAL_MACHINE\SOFTWARE\Python или HKEY_CURRENT_USER\SOFTWARE\Python. Для 32-разрядных версий Python раздел реестра может быть в разделе HKEY_LOCAL_MACHINE\Software\Wow6432Node\Python. Если используется IronPython, вместо этого ищите IronPython.
    3. Разверните узел, соответствующий дистрибутиву, например Python Core для CPython или ContinuumAnalytics для Anaconda. Если используется IronPython, разверните узел номера версии.
    4. Проверьте значения в узле InstallPath.
      • Если среда по-прежнему существует на компьютере, измените значение ExecutablePath на правильное расположение. Также исправьте значения (Default) и WindowedExecutablePath требуемым образом.
      • Если среда больше не существует на компьютере и вы хотите удалить ее из окна Окружения Python, удалите родительский узел InstallPath, например 3.6 на приведенном выше рисунке.
      • Недопустимые параметры в HKEY_CURRENT_USER\SOFTWARE\Python переопределяют параметры в HKEY_LOCAL_MACHINE\SOFTWARE\Python.

    Удаление или удаление среды Python

    Чтобы удалить проект Python, перейдите в среду Python в окне Обозреватель решений. Щелкните правой кнопкой мыши среду Python, которую вы хотите удалить, и нажмите кнопку «Удалить«.

    Screenshot of right-click Remove Python environment.

    Если вы хотите сохранить среду Python, но удалить ее из проекта, нажмите кнопку «Удалить«. Если вы хотите удалить его окончательно, нажмите кнопку «Удалить«.

    Screenshot of delete or remove Python environment pop-up.

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

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

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

    Виртуальное окружение Python – это «автономное дерево каталогов, которое содержит пакет установки для конкретной версии Python, а также ряд дополнительных пакетов» (цитата из официальной документации).

    Посмотрите на следующий комикс xkcd :

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

    Поскольку использование виртуальных окружений потенциально может привести к беспорядку, возникло множество инструментов для управления ими. В этой статье мы рассмотрим некоторые из них:

    Используйте встроенный venv

    Примечание: команда virtualenv является «надмножеством» собственной команды python -m venv , описанной в этом разделе. Фактически, если вам нужна скорость и дополнительные функции virtualenv, просто замените везде python -m venv на virtualenv .

    К счастью, модуль venv и pip обычно поставляются вместе с Python. Чтобы создать виртуальную среду в каталоге .venv , попробуйте следующее:

    python -m venv .venv

    Давайте разберём это подробнее. Мы используем исполняемый файл Python для версии Python, которую хотим использовать в виртуальном окружении. Это может быть python, как указано выше, или python3, python3.8, python3.9 и даже pypy3.

    Затем мы указываем python выполнить модуль venv . Следом пишем имя каталога, в котором хотим разместить виртуальное окружение. Как видно выше, я обычно использую имя .venv или, для большей наглядности, venv .

    После некоторой паузы будет создан новый каталог с именем .venv , который вы можете увидеть, выполнив команду ls или dir . (На Mac и Linux из-за точки в начале имени файл будет скрыт. Чтобы увидеть его в списке файлов, используйте команду ls -a ). Вы можете указать любое имя каталога вместо .venv .

    Если вместо этого вы видите что-то вроде «The virtual environment was not created successfully because ensurepip is not available» или другую ошибку, связанную особенностями вашего дистрибутива, почитайте, как установить pip и venv.

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

    Теперь вы можете активировать виртуальное окружение с помощью следующей команды:

    source ./.venv/bin/activate
    .\venv\Scripts\Activate.ps1

    Если вы не используете Bash или Powershell, вы можете заглянуть в каталог ./venv/bin или .\Venv\Scripts , чтобы увидеть другие параметры для CMD, fish или csh.

    После активации предложение командной строки должно измениться: в нем появится имя каталога виртуального окружения. Что-то вроде:

    (.venv) [default command prompt] $

    Это (.venv) (или другое выбранное вами имя каталога) является признаком того, что вы активировали свое виртуальное окружение. Она не останется активной после перезагрузки компьютера или запуска другой оболочки или открытия новой вкладки терминала. Привыкайте запускать скрипт активации.

    Редакторы/IDE иногда могут управлять виртуальным окружением и даже автоматически активировать его. Есть инструкции VSCode, плагины для Atom, для Vim, для Sublime и, конечно же, PyCharm.

    После активации вы сможете попробовать сделать так:

    (.venv) $ python >>> import sys >>> sys.executable '/home/my_username/sample_python/.venv/bin/python'

    Как видите, исполняемый файл находится в каталоге вашего виртуального окружения. Если виртуальное окружение не активно, sys.executable должен читать что-то вроде /usr/bin/python или C:\\Python38\\python.exe .

    Выполнение скриптов Python в виртуальном окружении

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

    1. Активировав виртуальное окружение, можно выполнить python my_script_name.py
    2. Запустить скрипт можно и без активации виртуального окружения, но тогда нужно писать, например, ./.venv/bin/python my_script_name.py

    Деактивация виртуального окружения

    Чтобы выйти из виртуального окружения, отключите его. Это можно сделать так:

    (.venv) $ deactivate

    Для повторной активации повторите приведенные выше инструкции.

    Установка пакетов

    Повторно активируйте виртуальную среду и установите что-нибудь с помощью pip :

    (.venv) $ pip install arrow

    Сначала пакеты и зависимости нужно установить. После этого вы сможете импортировать и использовать эти пакеты.

    Вы можете выйти из системы, забыть о Python, вернуться через несколько недель и повторно активировать свое виртуальное окружение. Пакеты по-прежнему будут установлены. Но только в этом виртуальном окружении. Они не будут захламлять вашу системную среду Python или другие виртуальные окружения.

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

    «Мое виртуальное окружение не подлежит ремонту», – скажете вы? Такое случается. Это безопасность использования виртуальных окружений. Что делать?

    rm -r .venv

    Всё ушло. Надеюсь, вы помните список пакетов (вы же сначала выполнили pip freeze или pip list , чтобы получить список, верно?).

    Затем воссоздайте виртуальное окружение, как описано выше.

    virtualenv

    Инструмент virtualenv очень похож на python -m venv . Фактически, модуль venv основан на virtualenv. Однако использование virtualenv вместо python -m venv дает сразу несколько очевидных преимуществ:

    • virtualenv обычно быстрее, чем python -m venv
    • Такие инструменты, как pip , setuptools и wheel , часто более актуальны и кэшированы (отсюда и повышение производительности). В терминах virtualenv это seed packages. И да, вы можете добавлять другие seed packages.

    Использование virtualenv

    Несколько хороших команд virtualenv:

    • virtualenv —help покажет вам, где должен быть файл конфигурации, если вы захотите установить какие-то настройки
    • virtualenv —upgrade-embed-wheels обновит все seed packages , такие как pip и т. д., до последних версий.

    В остальных случаях можете следовать инструкциям для venv, приведенным выше, но используйте virtualenv вместо python -m venv .

    Установка virtualenv

    Вы можете установить virtualenv из репозиториев менеджера пакетов (например, используя apt или dnf ).

    Но мы очень рекомендуем использовать pipx . После установки pipx вы сможете запустить установку virtualenv:

    pipx install virtualenv

    Poetry

    virtualenv и venv полезны и просты, они делают то, что нам нужно и делают это хорошо. Poetry – ещё один инструмент для удобного управления не только виртуальными окружениями, но и проектами и зависимостями.

    Установка Poetry

    Вы можете использовать официальную документацию для установки данного модуля.

    Решите, где Poetry будет размещать виртуальные окружения

    По умолчанию Poetry имеет центральное место для установки виртуальных окружений. Это хорошо, если вы не хотите, чтобы каталог вашего проекта содержал каталог виртуального окружения (то есть, если не хотите видеть каталог venv или .venv в вашем проекте).

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

    poetry config virtualenvs.in-project true

    Это глобальная настройка Poetry позволяет размещать виртуальные окружения в папках проектов.

    Взаимодействие с виртуальным окружением Poetry

    Poetry предназначен для управления проектами, поэтому для создания нового виртуального окружения сначала создайте каталог проекта и войдите в него:

    poetry new my_project cd my_project

    Когда виртуальное окружение потребуется в первый раз, оно будет создано автоматически.

    Чтобы активировать виртуальное окружение, сделайте следующее:

    poetry shell

    Для выхода из этого виртуального окружения воспользуйтесь exit , Ctrl-d или вашим любимым способом выхода из оболочки.

    Без предварительного входа в виртуальное окружение вы можете выполнить любую команду, доступную в нем, с помощью poetry run . К примеру, чтобы запустить python в виртуальном окружении, не входя в него, выполните следующую команду:

    poetry run python

    Добавление пакетов с помощью Poetry

    В отличие от традиционного подхода, в Poetry мы не используем pip install для установки пакетов. Вместо этого используйте poetry add :

    poetry add arrow

    Эта команда установит arrow и запишет его как зависимость в файле pyproject.toml.

    Вы можете увидеть множество других команд Poetry с помощью poetry help .

    Pipenv

    Интересно, что в официальном руководстве Python по установке пакетов прямо говорится, что «Управление несколькими виртуальными окружениями напрямую может быть утомительным, поэтому…», а затем упоминается Pipenv.

    Несмотря на эту почти официальную рекомендацию, мы продолжаем пользоваться virtualenv, так как он надежен и прост, или Poetry, потому что он обеспечивает отличное управление проектами и зависимостями.

    Тем не менее, Pipenv уже некоторое время пользуется популярностью и заслуживает внимания и уважения. Если вам он нравится, у вас могут быть на то веские причины.

    Установка Pipenv

    Хотя документация Pipenv рекомендуют использовать pip или ваш менеджер пакетов, мы настоятельно рекомендуем использовать pipx для установки Pipenv:

    pipx install pipenv

    Взаимодействие с виртуальным окружением Pipenv

    При использовании Pipenv важно сначала создать каталог для вашего проекта. (Это вообще хороший шаг при работе с любым инструментом).

    Когда виртуальное окружение потребуется в первый раз, оно будет создано автоматически.

    Чтобы активировать виртуальное окружение, выполните следующее:

    pipenv shell

    Вы можете выполнить любую команду, доступную в виртуальном окружении, без предварительного входа в него. Делается это через pipenv run . Например, откроем python в виртуальном окружении:

    pipenv run python

    Установка пакетов с помощью Pipenv

    Для установки пакетов вместо pip install Pipenv использует pipenv install .

    pipenv install arrow

    Вы можете увидеть множество других команд с помощью pipenv -h .

    Pyflow

    Если вам нужен инструмент для упрощения работы с виртуальными окружениями, мы бы посоветовали virtualenv или Poetry.

    Но если вы хотите попробовать что-то малоизвестное, но довольно многообещающее, особенно если вы имеете дело с разными версиями Python, тогда стоит обратить внимание на Pyflow.

    Возьмите Poetry, добавьте изящное управление версиями Python, снимите шляпу с conda и напишите все это на Rust – и результат будет немного похож на Pyflow. Время покажет, вырастет ли Pyflow и получит ли признание сообщества.

    Установка Pyflow

    Чтобы установить Pyflow, перейдите на страницу релизов Pyflow, загрузите и установите пакет, соответствующий вашей платформе.

    Взаимодействие с виртуальным окружением Pyflow

    Чтобы создать новое виртуальное окружение в Pyflow, сначала создайте проект:

    pyflow new my_project

    Уникальная особенность Pyflow: он предложит вам версию Python. Кроме того, если вы укажете версию, которая еще не установлена, он установит ее для вас довольно быстро (не компилируя с нуля, как это делает pyenv).

    Затем сделайте новый каталог текущим рабочим каталогом:

    cd my_project

    Когда виртуальное окружение потребуется в первый раз, оно будет создана автоматически.

    Чтобы запустить Python в виртуальном окружении, сделайте следующее:

    pyflow python

    Фактически, вы можете выполнить любую команду, доступную в окружении, выполнив pyflow нужная-команда . Это сокращение от pyflow run нужная-команда .

    Не существует способа активации виртуального окружения, специфичного для Pyflow. Покопаться в установленном виртуальном окружении можно так:

    .\__pypackages__\3.8\.venv\Scripts\Activate.ps1

    Это для Windows Powershell. Для Mac или Linux используйте следующее:

    source ./__pypackages__/3.8/.venv/bin/activate

    Однако у нас есть подозрение, что Pyflow предполагается пользоваться не так. Лучше запускайте все с помощью pyflow нужная-команда или pyflow python .

    Установка пакетов в Pyflow

    Как и во многих других инструментах, в Pyflow для установки пакетов не используется pip install . Вместо этого команда pyflow install установит пакеты в виртуальное окружение и добавит их в pyproject.toml.

    pyflow install arrow

    Прочие команды Pyflow можно увидеть, выполнив pyflow help .

    pyenv-virtualenv

    Если вы хотите использовать virtualenv для управления виртуальными окружениями, а также управлять несколькими версиями Python, вам может подойти pyenv-virtualenv.

    Не используйте pyenv (или любой другой инструмент управления версиями Python), если вы не уверены, что он вам действительно нужен.

    pyenv не предназначен для управления виртуальными окружениями. Он управляет версиями Python. Другими словами, чтобы понять, сможет ли pyenv решить какие-либо из ваших проблем, сперва оцените свои потребности и возможности самого pyenv.

    Установка pyenv-virtualenv

    pyenv-virtualenv – это плагин для pyenv, поэтому его необходимо установить.

    Для этого следуйте официальной документации или используйте автоматический установщик. Автоматический установщик – это просто curl https://pyenv.run | bash .

    pyenv не работает в Windows. Существует форк pyenv для Windows. Однако, похоже, он несовместим с плагинами pyenv, такими как pyenv-virtualenv.

    Взаимодействие с виртуальным окружением с помощью pyenv-virtualenv

    Чтобы создать новое виртуальное окружение с помощью pyenv-virtualenv, выполните следующую команду:

    pyenv virtualenv 3.8.5 venv38

    Это создаст виртуальное окружение в текущем каталоге. Версия Python в окружении будет 3.8.5, а окружение будет иметь псевдоним venv38 .

    Если вы не уверены, какие версии Python доступны для использования pyenv:

    pyenv versions
    pyenv install --list

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

    pyenv virtualenvs

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

    Чтобы активировать виртуальное окружение вручную, можно использовать короткий псевдоним:

    pyenv activate venv38

    Отключение виртуального окружения:

    pyenv deactivate

    Обратите внимание, что pyenv-virtualenv предлагает дополнительную функцию, которая автоматически активирует виртуальные окружения, когда вы переходите в каталог с файлом .python-version , который содержит имя допустимого виртуального окружения. Это может быть достоинством, а может и раздражать — в зависимости от ваших личных шаблонов работы. В инструкциях по установке написано, как активировать эту фичу. Если вы использовали автоматический установщик и следовали его инструкциям, возможно, она уже включена.

    Находясь в активированном виртуальном окружении, вы можете устанавливать пакеты с помощью pip , как указано в инструкциях venv выше.

    Вы можете найти справку с помощью pyenv help и pyenv help virtualenv .

    Conda

    Conda – это не просто еще один пакет Python или менеджер окружений. Это альтернативная экосистема Python. Репозиторий пакетов conda отличается от репозитория PyPI, используемого большинством менеджеров пакетов. В репозитории Conda ~1500 пакетов. В репозитории PyPI ~ 150 000. Тем не менее, в Conda можно использовать pip , если вам это нужно.

    Установка Conda

    Если вам нужна большая установка Python и все инструменты, обратите внимание на Anaconda. Miniconda предоставляет инструмент командной строки conda и только те зависимости, которые необходимы для начала работы. Обычно этого хватает. Если вы не уверены, что вам подходит, Anaconda или Miniconda, есть полезное сравнение.

    От редакции Pythonist. Можем предложить статью «Развертываем Anaconda – дистрибутив Python для data science».

    Чтобы установить Miniconda, найдите соответствующий установщик, загрузите его и установите пакет. Есть вероятность, что ваш менеджер пакетов ( apt , dnf , brew и т.д.) уже может иметь Conda.

    Используя Bash, можно сделать следующее:

    conda init bash conda config --set auto_activate_base false

    Первая строка добавляет автоматическую активацию «базовой» среды Conda в ваш .bashrc файл. Вторая строка добавляет файл ~/.condarc с этой настройкой в ваш домашний каталог.

    Взаимодействие с виртуальным окружением в Conda

    Новые виртуальные окружения создаются при помощи команды conda create . При этом указывается имя окружения и версия python (рекомендуется):

    conda create --name env38 python=3.8.5

    После создания вы можете активировать виртуальное окружение:

    conda activate env38

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

    Чтобы отключить виртуальное окружение:

    conda deactivate

    Команды conda activate и conda deactivate работают одинаково независимо от оболочки или платформы.

    Установка пакетов с помощью Conda

    Чтобы установить пакет с помощью Conda, используйте conda install . Но сперва убедитесь, что виртуальное окружение активировано ( conda activate ).

    conda install arrow

    Одна крутая вещь о Conda: она точно скажет вам, где и что будет делать.

    Hatch

    Hatch немного похож на Pyflow в том, что он модный (например, использует pyproject.toml), непонятный и выполняет множество функций.

    Установка Hatch

    Для установки Hatch мы предлагаем использовать pipx .

    pipx install hatch

    Взаимодействие с виртуальным окружением в Hatch

    Чтобы создать новое виртуальное окружение с Hatch, сначала создайте проект:

    hatch new my_project

    hatch new автоматически создает виртуальное окружение. Вы можете сделать новый каталог текущим рабочим:

    cd my_project

    Затем используйте hatch shell , чтобы войти в виртуальное окружение. Вы должны иметь возможность запускать Python и т.д. из новой оболочки.

    Установка пакетов в Hatch

    Как и во многих других инструментах, в Hatch не используется pip install . Но hatch install установит всё необходимое в виртуальном окружении.

    hatch install arrow

    Другие команды можно посмотреть с помощью hatch -h .

    Заключение

    Виртуальные окружения Python — отличная вещь для удобной и безопасной работы. В этой статье мы разобрали самые разные инструменты Python для управления виртуальными окружениями. Выбор инструмента – дело субъективное. Прежде чем решить, подумайте о том, кто вы, что делаете с помощью Python и каковы ваши потребности и желания.

    Вот несколько замечаний, которые могут помочь вам сориентироваться при выборе:

    • Вы создаете пакет/проект и хотите иметь что-то вроде швейцарского ножа с кучей функций, да еще чтоб популярность этого инструмента в сообществе росла? Попробуйте Poetry.
    • Вы минималист/традиционалист и гордитесь этим? Ваш выбор — venv (virtualenv, если дополнительный инструмент вас не покоробит)
    • Пишете простой скрипт? Вам хватит и venv, если, конечно, у вас уже не установлен virtualenv.
    • Хотите управлять разными версиями Python, а нужные вам пакеты хранятся в репозитории Conda? Тогда Conda.
    • Хотите управлять разными версиями Python, но вам нужны не только пакеты Conda? pyenv-virtualenv.
    • Вы любите новинки и готовы рискнуть, и тоже хотите управлять разными версиями Python? Pyflow.
    • Занимаетесь наукой о данных? Остановитесь на Conda.
    • Вы уже используете ___ и вам он нравится? Вот и пользуйтесь им дальше!
    • Вы попробовали ___ и вам не понравилось? Используйте что-нибудь другое!

    Как в PyCharm отключить создание виртуального окружения для каждого проекта?

    Пока что пользуюсь VSCode с расширением Python от Microsoft, но почему-то не всегда появляются подсказки о том, какие методы и свойства есть у переменной.

    Решил попробовать PyCharm. Хочу просто открыть его редактор, создать пустой .py файл и писать код с функционалом PyCharm’а, но там при каждом запуске надо создавать проект, либо выбрать уже готовый файл/проект. При создании проекта обязательно создается виртуальное окружение, на моем компе это не быстро.

    Как отключить принудительное создание виртуального окружения при создании проекта? Чтобы он автоматически использовал основной интерпритатор в системе.

    • Вопрос задан более трёх лет назад
    • 804 просмотра

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

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