Skip to content

Instantly share code, notes, and snippets.

@pratos
Created November 30, 2016 07:01
Show Gist options
  • Save pratos/e167d4b002f5d888d0726a5b5ddcca57 to your computer and use it in GitHub Desktop.
Save pratos/e167d4b002f5d888d0726a5b5ddcca57 to your computer and use it in GitHub Desktop.
To package a conda environment (Requirement.txt and virtual environment)
# For Windows users# Note: <> denotes changes to be made
#Create a conda environment
conda create --name <environment-name> python=<version:2.7/3.5>
#To create a requirements.txt file:
conda list #Gives you list of packages used for the environment
conda list -e > requirements.txt #Save all the info about packages to your folder
#To export environment file
activate <environment-name>
conda env export > <environment-name>.yml
#For other person to use the environment
conda env create -f <environment-name>.yml
# For Windows users
@ikvision
Copy link

I think that for activating a conda env
conda activate <environment-name>
rather than
activate <environment-name>

@Bigous
Copy link

Bigous commented Jul 15, 2020

@SundeepPidugu

One way to know the list of packages for a specific conda environment is to follow a two-step process:
conda activate <env_you_are_interested_in> # First activate the environment
conda list # List linked packages in a conda environment. See conda --help | grep list

PS: Will be happy to know if there is an alternate way which does not require to activate the env.

conda list -n <environment name>

@JutasiR
Copy link

JutasiR commented Mar 15, 2021

Dear All,

After creation of requirements.txt, I found the list to long, I think Anaconda adds many unnecessary libraries (I guess default ones), not just what I installed (and its dependencies). Am I correct, is there a way to streamline the requirements file? Many thanks!

@pratos
Copy link
Author

pratos commented Mar 16, 2021

The dependent packages will be added to the requirements.txt file hence the bloating of that file. My current advice for everyone is to use poetry for dependency management in a python project (if you aren't using any conda optimized package, then using anaconda/miniconda is your only friend).

You can check out here: https://python-poetry.org/

@Bigous
Copy link

Bigous commented Mar 16, 2021

@JutasiR, conda does not add libraries that you didn't install. The only exception is the base environment.

That's why you should create a new environment for your work and install what you need.

[]'s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment