environment.yml
This how-to explains how to create a environment.yml that specifies all installed packages and their precise versions from your environment.
conda env export -f environment.yml creates a strict export of all packages. This is the most robust for reproducibility, but it does bake in potential platform-specific packages, so you can only use an exported environment on the same platform.
conda env export -f environment.yml
repo2docker uses a linux based image as the starting point for every docker image it creates. However a lot of people use OSX or Windows as their day to day operating system. This means that the environment.yml created by a strict export will not work with error messages saying that certain packages can not be resolved (ResolvePackageNotFound).
repo2docker
ResolvePackageNotFound
Follow this procedure to create a strict export of your environment that will work with repo2docker and sites like mybinder.org.
We will launch a terminal inside a basic docker image, install the packages you need and then perform a strict export of the environment.
repo2docker https://github.com/binder-examples/conda-freeze
http://127.0.0.1:61037/?token=30e61ec80bda6dd0d14805ea76bb59e7b0cd78b5d6b436f0
conda install <yourpackages>
conda env export -n root
This will give you a strict export of your environment that precisely pins the versions of packages in your environment based on a linux environment.