TDA environment
Creating and saving a Nextjournal environment
Each Nextjournal code cell runs in a runtime, and each runtime has an environment, which is a Docker container with its own filesystem. In any environment we can install whatever system or language packages we need, modify configuration files, and set up directory and data file structures however we like. Then, we can save and export the environment as a whole for future reproducibility, as well as use by others.
pip freeze
When we need additional Python packages, they can be installed in multiple ways. The easiest way is to use conda
, which will attempt to install all packages and dependencies in a consistent manner, including system packages and libraries. The Anaconda Cloud has a searchable database of packages and channels—by default we will select only from the anaconda channel.
conda install -y \
descartes pysal scikit-learn netcdf4 \
basemap pyproj Cython
conda install -y -c jjhelmus \ trmm_rsl pyglpk cvxopt
For packages and versions unavailable via conda, or for installing packages in wheel files, pip
is available. For any packages that require compilation, we can install gcc
first.
apt-get update > /dev/null apt-get install -y build-essential gcc gfortran git
Finally, if a package has a setup.py
, we can download and install with that.
rm -rf PyTDA pyart git clone https://github.com/ARM-DOE/pyart git clone https://github.com/nasa/PyTDA
export RSL_PATH=/opt/conda cd pyart && python setup.py install
cd PyTDA && python setup.py install