I am studying MLFlow, which uses conda to help set environments and dependencies. In following conda.yaml file /1/, I have three questions:
What does channel means? Why there needs anaconda? What is default channel?
In dependencies section, there is pip, pip is package management tool. If there is dependencies key word, why there is again a need for pip? Does pip install dependencies' dependencies.
name: flower_classifier, does means environment name is 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
This refers to where Conda, the environment management tool, is going to look to find the declared dependencies. Currently, the defaults
channel will search all URLs under the https://repo.anaconda.com/pkgs/ directory. The anaconda
channel is a subset of this that only includes pkgs/main
, pkgs/free
and pkgs/pro
. It is unnecessary to include both these channels since defaults
covers them both. See the Anaconda documentation on repositories.
Not all Python packages are available as Conda packages. Some might only available through PyPI, or may be released there first. By including pip
in the dependencies, that Python-specific package manager will be included. Listing packages below pip
in the hierarchy, indicates that pip
should be used to install those packages.
Yes, the environment name will be flower_classifier
by default. However, the --name | -n
flag can be used to override this if you happen to not be that into flowers.
conda env create -f conda.yaml -n my_env
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With