Как эффективно создавать виртуальные среды Python и управлять ими

1 min


Вы не сможете успешно завершить реальный проект на Python без виртуальной среды. Такие инструменты, как virtualenvwrapper и virtualenv, являются общими для создания и управления виртуальными средами для веб-разработки, в то время как anaconda широко используется специалистами по данным.

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

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

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

Созданная виртуальная среда не просто работает; вам нужно будет активировать его. Фактически, все, что вы делаете за пределами виртуальной среды, не будет работать без активации. Это способ сделать ваше глобальное пространство намного чище.

Основной принцип заключается в том, что зависимости в виртуальном A не будут работать для виртуального B — если вы не установите зависимость специально для виртуального B.

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

Как использовать различные инструменты среды: за и против

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

1. Virtualenv

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

Чтобы создать с ним виртуальную среду в Windows, откройте окно командной строки в выбранном месте. Введите mkdir [Folder] создать новую папку, заменив текст и скобки выбранным вами именем.

Затем введите cd [Folder]для перехода в новый каталог, после чего следует команда virtualenv [Environment Name]для создания виртуальной среды.

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

Затем измените папки в своей виртуальной среде, набрав cd [Environment Name]. Как только ты внутри [Environment Name]введите cd Scripts; обязательно используйте букву S в верхнем регистре. Как только вы окажетесь в папке Scripts, активируйте виртуальную среду, набрав активировать.

Одним из основных недостатков использования virtualenv является то, что вы должны находиться в его каталоге Scripts, чтобы активировать его. Таким образом, вам нужно будет много перемещаться. Например, если ваш проект находится в другом каталоге, вам придется вернуться в него из папки сценариев среды. Этот процесс может стать утомительным, запутанным и неэффективным.

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

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

Взгляните на изображение ниже, чтобы узнать, как это сделать. Обратите внимание, что myproject и myvirtual – это каталоги проекта и виртуальной среды соответственно.

2. Virtualenvwrapper

Как следует из названия, virtualenvwrapper помещает все ваши среды в одну папку. В отличие от virtualenv, он создает эту папку по умолчанию и называет ее Envs.

Обратите внимание, что команда установки для virtualenvwrapper в Windows – это pip install virtualenvwrapper-win. Но pip install virtualenvwrapper будет работать для macOS.

Чтобы создать виртуальную среду с помощью этого инструмента, откройте CMD; вам не нужно заходить в папку вашего проекта. В командной строке введите mkvirtualenv envname. Он создает для вас предварительно активированную виртуальную среду.

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

Как только вы войдете в CMD, используйте команду workon envname, чтобы активировать виртуальную среду.

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

Однако это пустая трата времени, если вам нужно продолжать пробовать каждую из сред, чтобы увидеть, какая из них работает. Чтобы решить эту проблему, всегда убедитесь, что вы удаляете избыточные виртуальные среды в папке Envs.

3. Распространение Anaconda

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

Он более автоматический, чем ручной, и действует как комбинация пакетов virtualenv и pip. Это означает, что вы всегда можете использовать conda install для установки зависимостей вместо pip. Но по какой-то причине conda кажется ограниченным с точки зрения возможности установки пакетов.

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

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

Обратите внимание, что Anaconda также имеет встроенную оболочку, называемую оболочкой Anaconda, которая выполняет такие инструкции, как CMD. Вы можете попробовать это, выполнив поиск по запросу Anaconda через панель поиска Windows.

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

После настройки вашего дистрибутива Anaconda откройте командную строку и введите conda create envname, чтобы создать виртуальную среду conda. Для пользователей Windows conda недоступна для прямого использования в командной строке. Вам нужно будет вызвать его из командного файла, используя conda.bat create envname.

Чтобы активировать уже созданную виртуальную среду, используйте conda activate envname. Если вы пользователь Windows, введите conda.bat activate envname. Когда вы откроете Anaconda Navigator, все доступные среды будут перечислены.

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

Если вы работаете над проектом и вам нужно изменить версию зависимости, простой способ сделать это – обновить до интересующей версии.

Например, если вы хотите обновить версию pandas, откройте CMD и введите python -m pip install –upgrade pandas == 0.25. Эта команда удалит предыдущую версию pandas и установит новую запрошенную версию.

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

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

Эти инструменты виртуальной среды Python очень удобны, и с ними легко взаимодействовать. Не беспокойтесь о том, какие из них другие люди считают «лучшими»; это больше зависит от ваших предпочтений. Правильный инструмент – это тот, который лучше всего подходит для вашего проекта.

Чтобы узнать больше о Python, узнайте, как программировать Arduino и управлять им с помощью Python.

подключиться-iphone-tv

Как подключить iPhone или iPad к телевизору

Не знаете, как подключить iPhone к телевизору? Мы покажем вам несколько простых способов сделать это.

Об авторе

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

Подробнее об Idowu Omisola Подпишитесь на нашу рассылку новостей

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

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


0 Comments

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