我正在研究MLFlow,它使用conda来帮助设置环境和依赖项。在以下conda.yaml文件/ 1 /中,我有三个问题:
频道是什么意思?为什么需要水蟒?什么是默认频道?
在“依赖关系”部分中,有pip,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
答案 0 :(得分:1)
这是指环境管理工具Conda将在何处查找声明的依赖项。当前,defaults
频道将搜索https://repo.anaconda.com/pkgs/目录下的所有URL。 anaconda
通道是此通道的子集,仅包括pkgs/main
,pkgs/free
和pkgs/pro
。由于defaults
覆盖了这两个通道,因此不必同时包含这两个通道。参见the Anaconda documentation on repositories。
并非所有Python软件包都可以作为Conda软件包使用。有些可能仅通过PyPI提供,或者可能首先在PyPI中发布。通过在依赖项中包含pip
,将包括该特定于Python的软件包管理器。在层次结构中pip
下方列出软件包,表示应使用pip
安装这些软件包。
是的,环境名称默认为flower_classifier
。但是,如果您碰巧不成花,可以使用--name | -n
标志来覆盖它。
conda env create -f conda.yaml -n my_env