Conda is the default package and environment management tool shipped with Anaconda.
This post logs my cheatsheet and notes for working with virtual environments with conda.
commonly used commands for virtual env#
- Create a new environment:
conda create -n my_env
- List environments on the system:
conda env list
- Delete an environment:
conda env remove -n my_env
- Activate an env:
- Windows:
conda activate my_env
- Mac/Linux:
source activate my_env
- Windows:
- Exit/quit an env:
- Windows:
conda deactivate my_env
- Mac/Linux:
source deactivate my_env
- Windows:
How to install packages into a specific environment?#
Outside an env, we can use the -n
option to specify which environment we want
to install packages into:
conda install -n my_env -c some_channel some_package
If we are inside the virtual environment, there is no need to use the -n
option. We can install a package with conda install
.
Remove package in an env#
Remove pakcage from an env: conda remove -n my_env some_package
. If you do
not specify -n
, some_package
in current env will be removed. If you are not
in any virtual env, some_package
in the global Python path will be removed.
Using pip inside env install packages to global site-package location?#
When I am inside a virtual env, I am surprised that pip install some_package
installs the package to the global site-package instead of inside the virtual
env.
After some digging, I find that reason is that I was not using the pip command
inside that virtual environment. To check this, use the following command
before using pip install
:
which pip
If the pip path is not inside the virtual env, then we are using the
system-wide pip. So pip install some_package
will install some_package
into
to global Python path instead of the virtual environment.