diff --git a/notebook/Dockerfile b/notebook/Dockerfile index c0e3d3889bce6d921bfaf5c65476b674edaf2a0f..d091aa346d6bd03303d62e388f9a1ab17f7f73e6 100644 --- a/notebook/Dockerfile +++ b/notebook/Dockerfile @@ -120,8 +120,8 @@ RUN . $CONDA_DIR/etc/profile.d/conda.sh \ 'plotly' \ 'lxml' \ && conda activate python2 \ - && pip install keras-tqdm pyquaternion spsim \ - && conda remove --quiet --yes --force qt pyqt \ + && pip install keras-tqdm pyquaternion \ + && conda remove --quiet --yes --force qt pyqt libtiff \ && conda clean -tipsy \ && fix-permissions $CONDA_DIR \ && fix-permissions /home/$NB_USER @@ -139,36 +139,36 @@ USER $NB_USER # RUN MPLBACKEND=Agg python -c "import matplotlib.pyplot" \ # && fix-permissions /home/$NB_USER -#a# ================================================================================ -## QUIP + GAP + quippy -## ================================================================================ -# -## All the QUIPs go here; added to path in the end. -#WORKDIR /opt/quip -# -## QUIP for general use is the OpenMP version. -#ENV QUIP_ARCH linux_x86_64_gfortran_openmp -# -#ENV QUIP_INSTALLDIR /opt/quip/bin -#ENV PATH $QUIP_INSTALLDIR:$PATH -# -#COPY 3rdparty/QUIP . -#COPY 3rdparty/GAP src/GAP -#COPY 3rdparty/Makefile.inc build/$QUIP_ARCH/ -#COPY 3rdparty/GIT_VERSION . -#COPY 3rdparty/GAP_VERSION src/GAP/ -# -#USER root -#RUN chown -R $NB_USER:$NB_GID $PWD -#USER $NB_USER -# -## Installs with no suffix, e.g. quip -#RUN make > /dev/null 2>&1 \ -# && make install \ -# # Installs quippy using python2 environment -# && . $CONDA_DIR/etc/profile.d/conda.sh \ -# && conda activate python2 \ -# && make install-quippy > /dev/null 2>&1 +# ================================================================================ +# QUIP + GAP + quippy +# ================================================================================ + +# All the QUIPs go here; added to path in the end. +WORKDIR /opt/quip + +# QUIP for general use is the OpenMP version. +ENV QUIP_ARCH linux_x86_64_gfortran_openmp + +ENV QUIP_INSTALLDIR /opt/quip/bin +ENV PATH $QUIP_INSTALLDIR:$PATH + +COPY 3rdparty/QUIP . +COPY 3rdparty/GAP src/GAP +COPY 3rdparty/Makefile.inc build/$QUIP_ARCH/ +COPY 3rdparty/GIT_VERSION . +COPY 3rdparty/GAP_VERSION src/GAP/ + +USER root +RUN chown -R $NB_USER:$NB_GID $PWD +USER $NB_USER + +# Installs with no suffix, e.g. quip +RUN make > /dev/null 2>&1 \ + && make install \ + # Installs quippy using python2 environment + && . $CONDA_DIR/etc/profile.d/conda.sh \ + && conda activate python2 \ + && make install-quippy > /dev/null 2>&1 # ================================================================================ # nomad_sim + nomad_sim_visualization + nomadcore @@ -253,97 +253,97 @@ RUN . $CONDA_DIR/etc/profile.d/conda.sh \ && conda activate python2 \ && python setup.py install -#a# ================================================================================ -## Python 3.x environment -## ================================================================================ -# -## Add any additional packages you want available for use in a Python 3 notebook -## to the first line here (e.g., pandas, matplotlib, etc.) -## Remove pyqt and qt pulled in for matplotlib since we're only ever going to -## use notebook-friendly backends in these images -#RUN conda install --quiet --yes \ -# 'conda-forge::blas=*=openblas' \ -# 'numpy' \ -# 'pandas' \ -# 'scipy' \ -# 'scikit-learn' \ -# 'pytorch::pytorch-cpu' \ -# 'pytorch::torchvision-cpu' \ -# 'bokeh' \ -# 'matplotlib' \ -# 'ipywidgets' \ -# 'nglview' \ -# 'cython' \ -# 'numba' \ -# 'ase' \ -# 'tqdm' \ -# 'tensorflow' \ -# 'keras' \ -# 'colorcet' \ -# && pip install --quiet git+https://github.com/raghakot/keras-vis.git \ -# && conda remove --quiet --yes --force qt pyqt \ -# && conda clean -tipsy \ -# # Activate ipywidgets extension in the environment that runs the notebook server -# && jupyter nbextension enable --py widgetsnbextension --sys-prefix \ -# && npm cache clean --force \ -# && rm -rf $CONDA_DIR/share/jupyter/lab/staging \ -# && rm -rf /home/$NB_USER/.cache/yarn \ -# && rm -rf /home/$NB_USER/.node-gyp \ -# && fix-permissions $CONDA_DIR \ -# && fix-permissions /home/$NB_USER -# -## Import matplotlib the first time to build the font cache. -#ENV XDG_CACHE_HOME=/home/$NB_USER/.cache/ -#RUN MPLBACKEND=Agg python -c "import matplotlib.pyplot" \ -# && fix-permissions /home/$NB_USER -# -## ================================================================================ -## Python 3.6 environment -## ================================================================================ -# -#RUN . $CONDA_DIR/etc/profile.d/conda.sh \ -# && conda create --name python36 -c conda-forge --quiet --yes \ -# 'python=3.6' \ -# 'conda-forge::blas=*=openblas' \ -# 'ipython' \ -# 'ipykernel' \ -# 'ipywidgets' \ -# 'kernda' \ -# 'numpy' \ -# 'scipy' \ -# 'scikit-learn' \ -# 'matplotlib' \ -# 'cython' \ -# 'numba' \ -# 'ase' \ -# 'asap3' \ -# 'nglview' \ -# && conda activate python36 \ -# && jupyter nbextension enable --py --sys-prefix widgetsnbextension \ -# && jupyter-nbextension enable --py --sys-prefix nglview \ -# && conda remove --quiet --yes --force qt pyqt \ -# && conda clean -tipsy \ -# && fix-permissions $CONDA_DIR \ -# && fix-permissions /home/$NB_USER -# -## Create a global kernelspec in the image and modify it so that it properly activates -## the python36 conda environment. -#USER root -#RUN . $CONDA_DIR/etc/profile.d/conda.sh \ -# && conda activate python36 \ -# && ipython kernel install --name python36 --display-name 'Python 3.6' -#USER $NB_USER -# -## https://github.com/ipython-contrib/jupyter_contrib_nbextensions -#RUN conda install --quiet --yes \ -# 'jupyter_contrib_nbextensions' \ -# 'jupyter_nbextensions_configurator' \ -# && conda clean -tipsy \ -# && jupyter nbextensions_configurator enable --user \ -# && jupyter nbextension install nglview --py --sys-prefix \ -# && jupyter nbextension enable nglview --py --sys-prefix \ -# && jupyter nbextension enable execute_time/ExecuteTime \ -# && jupyter nbextension enable init_cell/main +# ================================================================================ +# Python 3.x environment +# ================================================================================ + +# Add any additional packages you want available for use in a Python 3 notebook +# to the first line here (e.g., pandas, matplotlib, etc.) +# Remove pyqt and qt pulled in for matplotlib since we're only ever going to +# use notebook-friendly backends in these images +RUN conda install --quiet --yes \ + 'conda-forge::blas=*=openblas' \ + 'numpy' \ + 'pandas' \ + 'scipy' \ + 'scikit-learn' \ + 'pytorch::pytorch-cpu' \ + 'pytorch::torchvision-cpu' \ + 'bokeh' \ + 'matplotlib' \ + 'ipywidgets' \ + 'nglview' \ + 'cython' \ + 'numba' \ + 'ase' \ + 'tqdm' \ + 'tensorflow' \ + 'keras' \ + 'colorcet' \ + && pip install --quiet git+https://github.com/raghakot/keras-vis.git \ + && conda remove --quiet --yes --force qt pyqt \ + && conda clean -tipsy \ + # Activate ipywidgets extension in the environment that runs the notebook server + && jupyter nbextension enable --py widgetsnbextension --sys-prefix \ + && npm cache clean --force \ + && rm -rf $CONDA_DIR/share/jupyter/lab/staging \ + && rm -rf /home/$NB_USER/.cache/yarn \ + && rm -rf /home/$NB_USER/.node-gyp \ + && fix-permissions $CONDA_DIR \ + && fix-permissions /home/$NB_USER + +# Import matplotlib the first time to build the font cache. +ENV XDG_CACHE_HOME=/home/$NB_USER/.cache/ +RUN MPLBACKEND=Agg python -c "import matplotlib.pyplot" \ + && fix-permissions /home/$NB_USER + +# ================================================================================ +# Python 3.6 environment +# ================================================================================ + +RUN . $CONDA_DIR/etc/profile.d/conda.sh \ + && conda create --name python36 -c conda-forge --quiet --yes \ + 'python=3.6' \ + 'conda-forge::blas=*=openblas' \ + 'ipython' \ + 'ipykernel' \ + 'ipywidgets' \ + 'kernda' \ + 'numpy' \ + 'scipy' \ + 'scikit-learn' \ + 'matplotlib' \ + 'cython' \ + 'numba' \ + 'ase' \ + 'asap3' \ + 'nglview' \ + && conda activate python36 \ + && jupyter nbextension enable --py --sys-prefix widgetsnbextension \ + && jupyter-nbextension enable --py --sys-prefix nglview \ + && conda remove --quiet --yes --force qt pyqt \ + && conda clean -tipsy \ + && fix-permissions $CONDA_DIR \ + && fix-permissions /home/$NB_USER + +# Create a global kernelspec in the image and modify it so that it properly activates +# the python36 conda environment. +USER root +RUN . $CONDA_DIR/etc/profile.d/conda.sh \ + && conda activate python36 \ + && ipython kernel install --name python36 --display-name 'Python 3.6' +USER $NB_USER + +# https://github.com/ipython-contrib/jupyter_contrib_nbextensions +RUN conda install --quiet --yes \ + 'jupyter_contrib_nbextensions' \ + 'jupyter_nbextensions_configurator' \ + && conda clean -tipsy \ + && jupyter nbextensions_configurator enable --user \ + && jupyter nbextension install nglview --py --sys-prefix \ + && jupyter nbextension enable nglview --py --sys-prefix \ + && jupyter nbextension enable execute_time/ExecuteTime \ + && jupyter nbextension enable init_cell/main # ================================================================================