Activate virtual environment windows

Содержание
  1. Виртуальная среда Python – Основы
  2. Зачем нужна виртуальная среда?
  3. Содержание
  4. Зачем нам все эти детали?
  5. Что такое виртуальная среда?
  6. Использование виртуальной среды
  7. Что находится в этих папках?
  8. Как работает виртуальная среда?
  9. Это наталкивает на вопросы:
  10. Управление виртуальной средой при помощи virtualenvwrapper
  11. Самые полезные функции virtualenvwrapper:
  12. Python. Урок 17. Виртуальные окружения
  13. Что такое виртуальное окружение и зачем оно нужно?
  14. ПО позволяющее создавать виртуальное окружение в Python
  15. virtualenv
  16. Установка virtualenv
  17. Создание виртуального окружения
  18. Активация виртуального окружения
  19. Деактивация виртуального окружения
  20. venv
  21. Создание виртуального окружения
  22. Активация виртуального окружения
  23. Деактивация виртуального окружения
  24. Полезные ссылки
  25. P.S.
  26. Использование виртуальных сред venv и virtualenv для создания окружения Python
  27. Для чего нужно виртуальные среды?
  28. Установка и создания окружения с virtualenv
  29. Активация и выход из окружения
  30. Управление средами через virtualenvwrapper
  31. Настройки для Linux
  32. Настройки для Windows
  33. Основные команды
  34. Создание виртуальных сред со встроенным пакетом Python venv
  35. Создание виртуального окружения в Pycharm
  36. Создание списка установленных пакетов Requirements.txt
  37. Виртуальные среды
  38. Введение
  39. Примеры
  40. Создание и использование виртуальной среды
  41. Установка инструмента virtualenv
  42. Создание новой виртуальной среды
  43. Активация существующей виртуальной среды
  44. Сохранение и восстановление зависимостей
  45. Выход из виртуальной среды
  46. Использование виртуальной среды на общем хосте
  47. Установка пакетов в виртуальной среде
  48. Создание виртуальной среды для другой версии python
  49. Управление несколькими виртуальными средами с помощью virtualenvwrapper
  50. Монтаж
  51. использование
  52. Каталоги проектов
  53. Узнайте, какую виртуальную среду вы используете
  54. Указание конкретной версии Python для использования в скрипте на Unix / Linux
  55. Использование virtualenv с рыбными раковинами
  56. Создание виртуальных сред с использованием Anaconda
  57. Проверка, работает ли внутри виртуальной среды
  58. Синтаксис
  59. Параметры
  60. Примечания
  61. Битовые операторы
  62. Исключения

Виртуальная среда Python – Основы

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

Зачем нужна виртуальная среда?

Python, как и большая часть других современных языков программирования, имеет собственный, уникальный способ загрузки, хранения и разрешения пакетов (или модулей). Это имеет свои преимущества, однако были принятые некоторые интересные решения, на счет хранения и разрешения пакетов, которые привели к определенным проблемам, а именно: как и где эти пакеты хранятся?

Содержание

Существует несколько разных расположений, в которых хранятся пакеты, которые можно установить в вашей системе. Например, большая часть системных пакетов хранятся в дочернем каталоге пути, который, в свою очередь, хранится в sys.prefix.

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

На Mac OS X, вы можете легко найти, где именно sys.prefix указывает на использование оболочки Python:

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

Зачем нам все эти детали?

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

Представим следующий сценарий, где у вас есть два проекта: проект А и проект Б, которые оба имеют зависимость от одной и той же библиотеки – проект В. Проблема становится явной, когда мы начинаем запрашивать разные версии проекта В. Может быть так, что проект А запрашивает версию 1.0.0, в то время как проект Б запрашивает более новую версию 2.0.0, к примеру.

Это большая проблема Python, поскольку он не может различать версии в каталоге «site-packages». Так что обе версии 1.0.0 и 2.0.0 будут находиться с тем же именем в одном каталоге:

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

Тут-то и вступает в игру виртуальная среда (вместе с инструментами virtualenv/ven)

Что такое виртуальная среда?

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

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

И так, в нашем небольшом примере вверху, нам просто нужно создать раздельную виртуальную среду для проектов А и Б. Каждая среда, в свою очередь, сможет зависеть от любой версии проекта В, независимо друг от друга.

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

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

Перед тем, как начать: если вы не пользуетесь Python 3, вам нужно будет установить инструмент virtualenv при помощи pip:

Если вы используете Python 3, у вас уже должен быть модуль venv, установленный в стандартной библиотеке.

Предположим, что вы пользуетесь последней версией инструмента venv, так как между ним и virtualenv существует несколько различий в отношении команд. По большому счету, это два весьма разных инструмента.

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

Читайте также:  Avaya equinox for windows

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

По умолчанию, это не включает в себя ни один из существующих сторонних пакетов.

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

В примере выше, эта команда создает каталог под названием «env», структура каталога которого схожа со следующей:

Что находится в этих папках?

Далее, у нас есть копии или символические ссылки нескольких различных инструментов Python. Эти файлы используются для обеспечения того, чтобы команды и код Python выполнялись в контексте нынешней среды, таким образом, достигается изоляция от глобальной среды. Мы рассмотрим это детальнее в следующем разделе.

Более интересные сейчас – скрипты activate в папке bin. Эти скрипты используются для настройки вашей оболочки для использования исполняемого файла среды Python и его сайтовых пакетов по умолчанию.

Чтобы использовать эти пакеты (или ресурсы) среды в изоляции, вам нужно «активировать» их. Чтобы сделать это, просто запустите:

Обратите внимание на то, что ваше приглашение командной строки теперь носит префикс вашей среды (в нашем случае – env). Это индикатор того, что env в данный момент активен, что в свою очередь говорит о том, что выполнимые файлы Python используют пакеты и настройки только этой среды.

Чтобы показать изолированный пакет в действии, мы можем использовать модуль bcrypt в качестве примера. Скажем, что модуль bcrypt установлен где-нибудь в системе, но не в нашей виртуальной среде.

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

Теперь установим bcrypt и используем его для хеширования пароля:

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

В одном примере, у нас есть доступный нам bcrypt, а в другом его нет. Это тот тип разделения, который мы ищем для виртуальной среды, и мы к нему пришли.

Как работает виртуальная среда?

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

Чтобы объяснить, как это работает, для начала проверим расположения разных исполняемых файлов python. С «деактивированной» средой запускаем:

Теперь активируем и снова запустим команду:

Активировав среду, мы теперь получаем другой путь к исполнимому файлу python, так как в активной среде, переменная среды $PATH несколько отличается.

Обратите внимание на разницу между первым путем в $PATH до и после активации:

В последнем примере, каталог bin нашей виртуальной среды теперь находится в начале пути. Это значит, что это первый каталог в поиске, когда мы запускаем исполняемый файл в командной строке. Таким образом, оболочка использует экземпляр нашей виртуальной среды в Python, а не в системной версии.

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

Это наталкивает на вопросы:

Это можно объяснить тем, как Python запускается и где он расположен в системе. Нет разницы между двумя исполняемыми файлами Python. Суть заключается в расположении каталога

Когда Python запускается, он ищет путь своего двоичного файла (в виртуальной среде он является копией или символической ссылке системного бинарного файла Python). Далее, он устанавливает расположение sys.prefix и sys.exec_prefix согласно с этим расположением, опуская часть bin в пути.

Путь, находящийся в sys.prefix далее используется для поиска каталога site-packages, путем поиска по связанного с ним пути lib/pythonX.X/site-packages/, где Х.Х – это версия используемого вами Python.

В нашем примере, бинарный файл расположен в /Users/michaelherman/python-virtual-environments/env/bin, это значит, что sys.prefix может быть /Users/michaelherman/python-virtual-environments/env, следовательно, используемый каталог site-packages может быть /Users/michaelherman/python-virtual-environments/env/lib/pythonX.X/site-packages. Наконец, этот путь наложен в массиве sys.path, который содержит все расположения, которые пакет может использовать.

Управление виртуальной средой при помощи virtualenvwrapper

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

Самые полезные функции virtualenvwrapper:

Некоторые функции могут показаться узкими, или незначительными, вы быстро поймете, что они – это отличные инструменты для вашего рабочего ритма.

Перед началом, вы можете скачать обёртку при помощи pip:

Источник

Python. Урок 17. Виртуальные окружения

Что такое виртуальное окружение и зачем оно нужно?

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

Во-вторых : может возникнуть необходимость в том, чтобы запретить вносить изменения в приложение на уровне библиотек, т.е. вы установили приложение и хотите, чтобы оно работало независимо от того обновляются у вас библиотеки или нет. Как вы понимаете, если оно будет использовать библиотеки из глобального хранилища ( /usr/lib/pythonXX/site-packages ), то, со временем, могут возникнуть проблемы.

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

Читайте также:  Icons from windows xp

ПО позволяющее создавать виртуальное окружение в Python

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

Virtualenvwrapper – это обертка для virtualenv позволяющая хранить все изолированные окружения в одном месте, создавать их, копировать и удалять. Предоставляет удобный способ переключения между окружениями и возможность расширять функционал за счет plug-in ’ов.

virtualenv

Установка virtualenv

Virtualenv можно установить с использованием менеджера pip (ссылка на статью), либо скачать исходные коды проекта и установить приложение вручную.

Установка с использованием pip.

Для установки virtualenv откройте консоль и введите следующую команду:

Установка из исходного кода проекта.

В этом случае, вам нужно будет выполнить чуть большее количество действий.

Введите в консоли следующий набор команд:

X.X – это версия приложения, ее вам нужно знать заранее.

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

Виртуальное окружение создается следующей командой:

PRG1 в данном случае – это имя окружения.

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

Для активации виртуального окружения воспользуйтесь командой (для Linux ):

для Windows команда будет выглядеть так:

Команда source выполняет bash- скрипт без запуска второго bash- процесса.

Если команда выполнилась успешно, то вы увидите, что перед приглашением в командной строке появилась дополнительная надпись, совпадающая с именем виртуального окружения.

Если вы создадите виртуальное окружение с ключем –system-site-packages :

то в рамках окружения PRG1 вы будите иметь доступ к глобальному хранилищу пакетов:

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

venv

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

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

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

Активация виртуального окружения в Linux выполняется командой:

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

Деактивация выполняется командой deactivate (работает как в Windows, так и в Linux )

Полезные ссылки

P.S.

Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.

Источник

Использование виртуальных сред venv и virtualenv для создания окружения Python

Виртуальные среды (окружения) используются в Python 3 контроля версионности пакетов. Кроме контроля версий среды используют для использования разных интерпретаторов. Самих пакетов, которые создают виртуальные окружения много. В этой статье речь пойдет про venv, virtualenv и virtualenvwrapper.

Навигация по посту

Для чего нужно виртуальные среды?

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

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

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

Установка и создания окружения с virtualenv

Самый популярный пакет, который используется для создания виртуальных сред в Python, это virtualenv. Для его установки на Windows выполните:

Для установки на Linux системах, для Python 3, понадобится выполнить такую команду:

Если вы не будете использовать sudo, то в зависимости от версии ОС у вас появятся разные ошибки. В CentOS установка не выполнится вовсе, а в Ubuntu не будет добавлен путь в переменную окружения:

Далее, вне зависимости от того используете ли вы Linux или Windows, вы можете выполнить команду получения справки:

Я использую Python 3.6, и так я создам окружение в папке projectname/venv:

Способ выше устанавливает окружение относительно текущего пути. Если нужно установить на другом диске или каталоге, то можно использовать абсолютный путь. Так же не обязательно указывать параметр «-p» если вы используете одну версию Python. Вариант как это может быть сделано на Windows:

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

Активация и выход из окружения

Для того что бы виртуальное окружения начало работать его нужно активировать. В разных ОС это делается по-разному.

В случаях с Linux указываем полный путь до venv/bin/activate:

Для активации в Windows, в папке venv\Scripts есть несколько файлов:

Для активации просто укажите полный путь до файла. Например:

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

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

Теперь вы можете устанавливать пакеты, которые будут работать только в этой среде.

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

Для CMD нужно указать путь до файла «venv\Scripts\deactivate.bat».

Управление средами через virtualenvwrapper

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

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

Для Windows нужно установить следующий пакет:

Для Linux нужно так же использовать sudo:

Настройки для Linux

Следующая команда добавит скрипты в домашний каталог для удобной работы:

При выполнении предыдущей команды у меня появилась ошибка:

virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader

Она исправилась добавлением переменной в env с путем до нужного интерпретатора:

Настройки для Windows

Все виртуальные среды, которые будут созданы, по умолчанию будут располагаться по пути «C:\Users\%USERNAME%\Envs». Если вам нужно изменить расположение, то создайте переменную WORKON_HOME с нужной директорией:

Читайте также:  Windows wia scan driver

Важный момент, в случае с Windows, команды virtualenvwrapper не будут выполняться Powershell. Команды работают только через CMD.

Основные команды

Далее мы можем использовать следующие команды (основные):

Так мы создадим виртуальную среду:

Так выйдем из созданной среды:

Если нужно использовать другую версию Python:

Создание виртуальных сред со встроенным пакетом Python venv

Ранее, до версии Python >= 3.6 базовая установка интерпретатора шла вместе с пакетом pyenv, но на данный момент он считается устаревшим и более не поддерживается. На его смену пришел venv. В некоторых версиях ОС (Ubuntu/Debian) может потребоваться его отдельная установка:

Проверить, то что пакет venv установлен, можно так:

Следующая команда создаст виртуальную среду:

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

Активация окружения выполняется следующим образом:

Для выхода из окружения:

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

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

Виртуальную среду можно создать при создании нового проекта. Для этого нужно зайти по следующему пути:

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

Для настройки окружения для старых проектов нужно зайти в настройки:

Во вкладе «Python Interpreter» будет выбор из существующих интерпретаторов (1). Либо можно создать новый (2):

Создание списка установленных пакетов Requirements.txt

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

Так мы получим список пакетов, установленных в виртуальном окружении, в формате читаемом pip:

Следующим способом мы экспортируем этот список в файл Requirements.txt (способ подходит для Bash/CMD/Powershell):

На другом компьютере/среде мы можем этот список быстро проверить и установить отсутствующие пакеты следующей командой:

Источник

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

Введение

Примеры

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

virtualenv является инструментом для создания изолированных сред Python. Эта программа создает папку, которая содержит все необходимые исполняемые файлы для использования пакетов, необходимых для проекта Python.

Установка инструмента virtualenv

В качестве альтернативы вы можете установить virtualenv с помощью пип :

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

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

Активация существующей виртуальной среды

Пользователи Windows должны набрать:

Сохранение и восстановление зависимостей

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

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

Использование виртуальной среды на общем хосте

Вы должны добавить эти строки в самом начале файла, который будет выполнять ваш сервер.

Найдет bin/activate_this.py что virtualenv созданный файл в той же директории вы выполняете и добавить свои lib/python2.7/site-packages для sys.path

Если вы хотите использовать activate_this.py скрипт, не забудьте развернуть с, по крайней мере, в bin и lib/python2.7/site-packages каталогов и их содержимого.

Установка пакетов в виртуальной среде

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

requirements.txt:

Вы также можете получить список пакетов и их версий, установленных в настоящее время в активной виртуальной среде:

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

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

Управление несколькими виртуальными средами с помощью virtualenvwrapper

Вместо того, чтобы иметь дело с каталогами виртуального окружения самостоятельно, virtualenvwrapper управляет их для вас, за счет хранения всех виртуальных сред под центральной директории (

/.virtualenvs по умолчанию).

Монтаж

Установите virtualenvwrapper с помощью менеджера пакетов вашей системы.

Debian / Ubuntu на основе:

Fedora / CentOS / RHEL:

Или установить его с помощью PyPI pip :

В Windows вы можете использовать либо virtualenvwrapper-win или virtualenvwrapper-powershell вместо этого.

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

Новая виртуальная среда автоматически активируется. В новых оболочках можно включить виртуальную среду с workon

Каталоги проектов

Чтобы удалить virtualenv, используйте rmvirtualenv :

Узнайте, какую виртуальную среду вы используете

Если вы используете по умолчанию в bash строки на Linux, вы должны увидеть имя виртуальной среды в начале вашего запроса.

Указание конкретной версии Python для использования в скрипте на Unix / Linux

После указания строки shebang не забудьте дать разрешения на выполнение сценарию, выполнив:

Использование virtualenv с рыбными раковинами

Установите virtualfish в глобальное пространство

Загрузите модуль python virtualfish во время запуска оболочки рыбы

Для того, чтобы создать новое использование виртуальной среды vf new

Для переключения между virtualenvironments использовать vf deactivate и vf activate another_env

Создание виртуальных сред с использованием Anaconda

где в произвольное название для виртуальной среды, а представляет собой определенную версию Python вы хотите настроить. Активируйте и деактивируйте вашу среду

Просмотр списка созданных сред

Проверка, работает ли внутри виртуальной среды

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

Запустите интерпретатор Python и попробуйте:

Синтаксис

Параметры

Примечания

Научим основам Python и Data Science на практике

Это не обычный теоритический курс, а онлайн-тренажер, с практикой на примерах рабочих задач, в котором вы можете учиться в любое удобное время 24/7. Вы получите реальный опыт, разрабатывая качественный код и анализируя реальные данные.

Битовые операторы

Исключения

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector