Source
23 Aug 2018
Reproducing Conda Environments
This short summary is based on the Anaconda blog post here https://www.anaconda.com/moving-conda-environments/. The original blog post is a great high-level summary for the various methods in conda for reproducing environments.
-
OS and platform specific (pulls from repos)
# On source environment: conda list --explicit > spec-list.txt# New conda environment: conda create --name new_env_name --file spec-list.txt -
Different platforms and OS (pulls from repos, also includes
pipinstalled packages)# On source environment: conda env export > env.yml# New conda environment: conda env create -f env.yml -
Platform and OS specific, no internet on target
17 Mar 2018
Installing NetCDF Python Packages
I was trying to remember how I have installed netCDF4 and related libraries for Python, and what I need to do differently for Windows systems vs. the Linux systems I usually use.
On Linux, sometimes I use the system netCDF C libaries, but often I compile and install specific versions of HDF5 and netCDF4 from scratch. Here is how I have built netCDF for various Docker container images.
# Build HDF5
cd hdf5-x.y.x
./configure --prefix=/usr/local --enable-shared --enable-hl
make
make install
cd ..
# Built NetCDF4
cd netcdf-x.y.z
LDFLAGS=-L/usr/local/lib
CPPFLAGS=-I/usr/local/include
./configure --enable-netcdf-4 --enable-dap --enable-shared --prefix=/usr/local --disable-doxygen
make
make install
cd ..
# NetCDF4 Fortran
cd netcdf-fortran-x.y.z
./configure --enable-shared --prefix=/usr/local
make
make install
cd ..
netcdf4-python #
I typically try to use Use pip to install Python libraries if I can.pip if you need to, but I am using conda and conda-forge as much as possible now, in fact by using conda, the above compilation steps are usually not necessary as far as I know. See below.