Все, что вам нужно знать о виртуальных средах Python (с использованием Anaconda)

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

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

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

Зачем это использовать?

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

Звучит полезно. Итак, как мне его создать?

Начните с установки Anaconda. Anaconda — это менеджер пакетов для Python, как и pip, что означает, что он стремится упростить установку пакетов, упрощая поиск и интеграцию пакетов в проект без каких-либо конфликтов. Кроме того, он позволяет легко создавать виртуальные среды.

После установки Anaconda вы можете открыть приглашение Anaconda и ввести следующее:

conda create -n name_of_env python=X.YZ

Это создаст новую папку, в которой будет храниться ваша среда. Он также установит Python с указанной вами версией. Если вы не укажете версию Python, среда будет чистой без установки Python. Я рекомендую всегда создавать среду с предустановленным Python, чтобы не нарушить вашу установку, так как если вы запускаете «pip install» или «conda install» в пустой среде, вместо этого он может установить библиотеки в вашей базовой среде.

Круто, теперь я могу начать работать над своим проектом?

НЕТ! Сначала вам нужно активировать среду, что можно легко сделать, набрав:

conda activate name_of_env

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

(base) C:\Users\gdutra>

to

(name_of_env) C:\Users\gdutra>

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

conda deactivate

И чтобы удалить среду со всеми ее зависимостями, запустите:

conda env remove -n name_of_env

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

Обратите внимание, что всякий раз, когда вы открываете новую подсказку Anaconda, вы начинаете с базовой среды. Эта среда всегда должна оставаться чистой. НЕ УСТАНАВЛИВАЙТЕ НИЧЕГО НА БАЗОВУЮ СРЕДУ. Это избавит вас от головной боли в будущем. Если вы в конечном итоге установите библиотеки в базовой среде, вы можете отменить изменения, выполнив следующие действия:

В вашей базовой среде введите:

conda list --revisions

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

Увидев, к какой версии вы хотите вернуться, введите:

conda install --revision X

И conda вернет среду к этой версии. Это также работает для любой среды, кроме базовой.

Что-нибудь еще, что я должен знать?

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

  • Очистка кеша. Когда вы начинаете создавать несколько окружений, в вашей установке начинает накапливаться кеш. я рекомендую бежать
conda clean --all

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

  • Mamba: Mamba — это инструмент для ускорения управления средами conda. У вас могут возникнуть очень медленные времена в conda, когда вы пытаетесь установить новые библиотеки в свою среду. Mamba пытается это исправить.
    Его можно установить, следуя этой документации: https://mamba.readthedocs.io/en/latest/user_guide/mamba.html
    Пока я не использовал это много, многие пользователи оставили положительные отзывы об этом инструменте, так что стоит взглянуть.