Эйа, ребята,
При работе с зависимостями 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”