I would like to create a conda environment on a machine that has no network connection. What I\'ve done so far is:
On a machine that is connected to the internet:
Short answer: copy the whole environment from another machine with the same OS.
Dependency. A package depends on other packages. When you install a package online, the package manager conda
analyzes the package dependencies and install all the required packages for you.
The dependency is especially heavy in anaconda
. Cause anaconda
is a meta package depends on another 160+ packages.
Meta packages,are packages do not contain actual softwares and simply depend on other packages to be installed.
It's totally absurd to download all these dependencies one by one and install them on the offline machine.
Get conda
installed on another machine with same OS. Install the packages you need in an isolated virtual environment.
# create a env named "myvenv", name it whatever you want
# and install the package into this env
conda create -n myvenv --copy anaconda
--copy
is used to
Install all packages using copies instead of hard- or soft-linking.
Find where the environments are stored with
conda info
The 1st value of key "envs directories" is the location. Go there and package the whole sub-folder named "myvenv" (the env name in previous step) into an archive.
Copy the archive to your offline machine. Check "envs directories" from conda info
. And extract the environment from the archive into the env directory on the offline machine.
Done.