Рубрики
Без рубрики

Управление средами с Conda и PIP

Эйа, ребята, При работе с зависимостями Python World предлагает несколько инструментов для управления этими …. Tagged с помощью Python, Tutorial, производительности, новичков.

Эйа, ребята,

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

Conda Я сочетаюсь с Pip это то, что я люблю использовать ежедневно. Conda обрабатывает код непитона особенно хорошо, и поэтому библиотеки, такие как Rdkit (Cheminformatics Library) доступны только в экосистеме Conda. Это отличный ресурс для научной работы данных.

Здесь я хочу показать вам несколько основных команд Conda и пип Я использую для управления своими зависимостями.

Сначала вам нужно установить Anaconda на вашу систему, если она еще не установлена. Далее мы установим лабораторию PANDAS, MATPLOTLIB и JUPYTER, чтобы у нас была хорошая среда для научной работы данных.

Сначала мы создаем нашу новую среду:

$ conda create -n my-new-environment python=3.8

Здесь мы называем среду моя новая обстановка и используйте Python версию 3.8. Conda собирает метаданные пакета и создаст нашу новую среду. Активируя нашу новую среду …

$ conda activate my-new-environment

… Мы покидаем базовую среду Condas и вводим нашу недавно созданную среду. Тогда мы можем установить необходимые нам зависимости.

$ conda install matplotlib pandas 

Jupyter Lab предлагается через Conda-Forge Канал, популярный, ухоженный канал, а не через по умолчанию канал. Вот почему мы должны дать название каналов:

$ conda install -c conda-forge jupyterlab

Или мы сразу же добавляем канал в конфигурацию Condas, чтобы Conda-Forge Repo обыскивается на вершине по умолчанию Канал при установке пакетов. Conda-Forge-довольно популярный и ухоженный канал, и поэтому мы будем добавлять его здесь навсегда.

$ conda config --add channels conda-forge

Вы можете видеть, что Conda-Forge был добавлен в ваш ~./condarc файл.

ssl_verify: true
channels:
  - conda-forge
  - defaults

Некоторые команды Condas схожи с пип . Чтобы перечислить пакеты в вашей текущей среде, которую мы набираем:

$ conda list

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

$ anaconda search 

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

$ conda create --clone my-new-environment --name my-clone

При наборе печати Список Env Conda Мы видим, что две среды, которые мы создали, находятся рядом с базовой средой.

$ conda env list

# conda environments:
#
base                   /home/niklas/anaconda3
my-new-environment     /home/niklas/anaconda3/envs/my-new-environment
my-clone               /home/niklas/anaconda3/envs/my-clone

Мы можем переключить среду, просто активируя новую среду.

$ conda activate my-clone

Чтобы проверить, какая среда в настоящее время активна, мы можем ввести Конда Информация Анкет КСТАТИ: Такие рамки, как OH-MY-ZSH, показывают активную среду в терминале, которая облегчает жизнь.

Хорошо, теперь давайте убрать вещи и удалить клонированную среду.

$ conda deactivate 
$ conda env remove --name my-clone

Conda Caches все установленные пакеты в каталоге Pkgs, поэтому время от времени я убираю их, чтобы освободить место.

$ conda clean -h

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

$ conda env export --name my-new-environment > environment.yaml

Теперь все зависимости можно найти в Environment.yaml файл. Этот файл может быть использован кем -то другим для воссоздания окружающей среды. Когда нет --Флель Значение флага предоставляется Conda ищет Environment.yaml Файл в текущий рабочий каталог и пытается воссоздать среду из этого файла.

$ conda env create              
$ conda env create --file environment-dev.yaml   

Но не чувствуйте себя вынужденным использовать пакеты Conda только при управлении зависимостями с Conda! Я также использую Conda при управлении проектами, где я устанавливаю только зависимости от pypi.org. Так же, как напоминание, вот команды для хранения/воссоздания Pip зависимости.

$ pip freeze > requirements.txt   
$ pip install -r requirements.txt

Conda делает переключение между различными средами так просты, и вы всегда имеете доступ к пакетам Conda. К сожалению, скорость Condas для создания сред и установки пакетов Conda не является выдающейся Но, тем не менее, это достаточно хорошо, чтобы я предпочитал это другому менеджеру зависимости 🙂. Если вы хотите увидеть, как загрузить проект в Anaconda, посмотрите мою статью «Публикация в Anaconda».

Хорошо, вот и все, надеюсь, вы могли бы вызвать ваше любопытство к Анаконде. Спасибо за внимание и хорошего дня! 🙂

Все команды Conda, которые я использую, можно найти в моем Шпаргалка Linux Анкет

Оригинал: “https://dev.to/niklastiede/managing-environments-with-conda-and-pip-1n09”