#conda
#conda
Вопрос:
Я изучаю MLflow, который использует conda для помощи в настройке сред и зависимостей. В следующем conda.файл yaml / 1/, у меня есть три вопроса:
-
Что означает channel? Зачем нужна anaconda? Что такое канал по умолчанию?
-
В разделе зависимостей есть pip, pip — это инструмент управления пакетами. Если есть ключевое слово dependencies, зачем снова нужен pip? Устанавливает ли pip зависимости зависимостей.
-
имя: flower_classifier, означает ли имя среды flower-classifier?
/1/
name: flower_classifier
channels:
- defaults
- anaconda
dependencies:
- python==3.6
- numpy==1.14.2
- keras==2.2.4
- pandas
- pip:
- tensorflow-gpu==1.10.0
- mlflow
- click==6.7
- scikit-learn
- pillow
Ответ №1:
1 Каналы
Это относится к тому, где Conda, инструмент управления средой, будет искать объявленные зависимости. В настоящее время defaults
канал будет искать все URL-адреса в https://repo.anaconda.com/pkgs / каталог. anaconda
Канал является подмножеством этого, которое включает только pkgs/main
, pkgs/free
и pkgs/pro
. Нет необходимости включать оба этих канала, поскольку defaults
они охватывают их оба. Смотрите Документацию Anaconda по репозиториям.
2 Почему pip?
Не все пакеты Python доступны как пакеты Conda. Некоторые могут быть доступны только через PyPI или могут быть выпущены там первыми. При включении pip
в зависимости будет включен менеджер пакетов, специфичный для Python. Список пакетов ниже pip
в иерархии указывает, что pip
следует использовать для установки этих пакетов.
3 Имя среды
Да, имя среды будет flower_classifier
по умолчанию. Однако --name | -n
флаг можно использовать для переопределения этого, если вам не нравятся цветы.
conda env create -f conda.yaml -n my_env
Комментарии:
1. Еще один вопрос: как пользователь может узнать, какой пакет Python включен в пакет Conda, который не включен?
2. @user84592 Вы можете выполнить поиск в облаке Anaconda. Например, при поиске «click» вы можете увидеть, что это не обязательно устанавливать из PyPI.
3. @user84592 также может стоить отметить, что вы можете использовать
conda search click
, но это только для поиска каналов, которые вы добавили (или добавили с-c <channel>
флагом).4. Как сгенерировать файл yaml?
5. @Catbuilts Используется
conda env export > environment.yml
для создания файла yaml для текущей активной среды.