Skip to content

Commit 243724e

Browse files
committed
Update dockerfile dependencies
1 parent 68c9b0c commit 243724e

File tree

1 file changed

+38
-41
lines changed

1 file changed

+38
-41
lines changed

Dockerfile

Lines changed: 38 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,6 @@ RUN \
457457
apt-get install -y --no-install-recommends gdebi && \
458458
# Search for files
459459
apt-get install -y --no-install-recommends catfish && \
460-
# TODO: Unable to locate package: apt-get install -y --no-install-recommends gnome-search-tool &&
461460
apt-get install -y --no-install-recommends font-manager && \
462461
# vs support for thunar
463462
apt-get install -y thunar-vcs-plugin && \
@@ -591,10 +590,10 @@ RUN \
591590
conda install -y --update-all \
592591
'python='$PYTHON_VERSION \
593592
'ipython=7.19.*' \
594-
# TODO: notebook > 6.1.x handels terminal creation differently, but a fix is already merged:
595-
# https://github.com/jupyter/notebook/pull/5813
596-
'notebook=6.0.3' \
593+
'notebook=6.1.6' \
597594
'jupyterlab=2.2.*' \
595+
# TODO: nbconvert 6.x makes problems with template_path
596+
'nbconvert=5.6.*' \
598597
# TODO: temp fix: yarl version 1.5 is required for lots of libraries.
599598
'yarl==1.5.*' \
600599
# TODO install scipy, numpy, sklearn, and numexpr via conda for mkl optimizaed versions: https://docs.anaconda.com/mkl-optimizations/
@@ -606,6 +605,8 @@ RUN \
606605
numexpr && \
607606
# installed via apt-get and pip: protobuf \
608607
# installed via apt-get: zlib && \
608+
# Switch of channel priority, makes some trouble
609+
conda config --system --set channel_priority false && \
609610
# Install minimal pip requirements
610611
pip install --no-cache-dir --upgrade --upgrade-strategy only-if-needed -r ${RESOURCES_PATH}/libraries/requirements-minimal.txt && \
611612
# If minimal flavor - exit here
@@ -648,14 +649,21 @@ RUN \
648649
# required for tesseract: 11MB - tesseract-ocr-dev?
649650
apt-get install -y --no-install-recommends libtesseract-dev && \
650651
pip install --no-cache-dir tesserocr && \
651-
# Required for tensorflow graphics (9MB)
652+
# TODO: installs tenserflow 2.4 - Required for tensorflow graphics (9MB)
652653
apt-get install -y --no-install-recommends libopenexr-dev && \
653-
pip install --no-cache-dir tensorflow-graphics==2020.5.20 && \
654+
#pip install --no-cache-dir tensorflow-graphics==2020.5.20 && \
654655
# GCC OpenMP (GOMP) support library
655656
apt-get install -y --no-install-recommends libgomp1 && \
656657
# Install Intel(R) Compiler Runtime - numba optimization
657-
# TODO: don't install, results in memory error
658-
# conda install -y --freeze-installed -c numba icc_rt && \
658+
# TODO: don't install, results in memory error: conda install -y --freeze-installed -c numba icc_rt && \
659+
# TODO: problem with channel-prio setting. Install libjpeg turbo for speedup in image processing
660+
conda install -y --freeze-installed libjpeg-turbo && \
661+
# TODO: problem with channel-prio setting. Add snakemake for workflow management
662+
conda install -y -c bioconda -c conda-forge snakemake-minimal && \
663+
# TODO: problem with channel-prio setting. Add mamba as conda alternativ
664+
conda install -y -c conda-forge mamba && \
665+
# TODO: problem with channel-prio setting. Faiss - A library for efficient similarity search and clustering of dense vectors.
666+
conda install -y --freeze-installed faiss-cpu && \
659667
# Install full pip requirements
660668
pip install --no-cache-dir --upgrade --upgrade-strategy only-if-needed -r ${RESOURCES_PATH}/libraries/requirements-full.txt && \
661669
# Setup Spacy
@@ -732,6 +740,10 @@ RUN \
732740
clean-layer.sh && \
733741
exit 0 ; \
734742
fi && \
743+
# Install and activate what if tool
744+
pip install witwidget && \
745+
jupyter nbextension install --py --symlink --sys-prefix witwidget && \
746+
jupyter nbextension enable --py --sys-prefix witwidget && \
735747
# Activate qgrid
736748
jupyter nbextension enable --py --sys-prefix qgrid && \
737749
# TODO: Activate Colab support
@@ -771,7 +783,7 @@ RUN \
771783
pip install jupyterlab-git && \
772784
jupyter serverextension enable --py jupyterlab_git && \
773785
# For Matplotlib: https://github.com/matplotlib/jupyter-matplotlib
774-
$lab_ext_install jupyter-matplotlib && \
786+
#$lab_ext_install jupyter-matplotlib && \
775787
# Do not install any other jupyterlab extensions
776788
if [ "$WORKSPACE_FLAVOR" = "light" ]; then \
777789
# Final build with minimization
@@ -791,16 +803,17 @@ RUN \
791803
$lab_ext_install install @jupyter-widgets/jupyterlab-manager plotlywidget && \
792804
# produces build error: jupyter labextension install jupyterlab-chart-editor && \
793805
$lab_ext_install jupyterlab-chart-editor && \
794-
# For holoview
795-
$lab_ext_install @pyviz/jupyterlab_pyviz && \
796806
# Install jupyterlab variable inspector - https://github.com/lckr/jupyterlab-variableInspector
797807
$lab_ext_install @lckr/jupyterlab_variableinspector && \
808+
# For holoview
809+
$lab_ext_install @pyviz/jupyterlab_pyviz && \
798810
# Install Debugger in Jupyter Lab
799811
# pip install --no-cache-dir xeus-python && \
800812
# $lab_ext_install @jupyterlab/debugger && \
801813
# Install jupyterlab code formattor - https://github.com/ryantam626/jupyterlab_code_formatter
802814
$lab_ext_install @ryantam626/jupyterlab_code_formatter && \
803-
pip install jupyterlab_code_formatter && \
815+
# TODO: 1.4.1 forces jupyterlab 3.X
816+
pip install jupyterlab_code_formatter==1.3.8 && \
804817
jupyter serverextension enable --py jupyterlab_code_formatter && \
805818
# Final build with minimization
806819
jupyter lab build -y --debug-log-path=/dev/stdout --log-level=WARN && \
@@ -852,7 +865,7 @@ RUN \
852865
cd $RESOURCES_PATH && \
853866
mkdir -p $HOME/.vscode/extensions/ && \
854867
# Install python extension - (newer versions are 30MB bigger)
855-
VS_PYTHON_VERSION="2020.11.371526539" && \
868+
VS_PYTHON_VERSION="2020.12.424452561" && \
856869
wget --no-verbose https://github.com/microsoft/vscode-python/releases/download/$VS_PYTHON_VERSION/ms-python-release.vsix && \
857870
bsdtar -xf ms-python-release.vsix extension && \
858871
rm ms-python-release.vsix && \
@@ -893,8 +906,7 @@ RUN \
893906
# && code-server --install-extension formulahendry.code-runner@$VS_CODE_RUNNER_VERSION \
894907
sleep $SLEEP_TIMER && \
895908
# Install ESLint extension: https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
896-
# Older versions do not support vscode 1.39 - https://github.com/microsoft/vscode-eslint/
897-
VS_ESLINT_VERSION="2.1.13" && \
909+
VS_ESLINT_VERSION="2.1.14" && \
898910
wget --retry-on-http-error=429 --waitretry 15 --tries 5 --no-verbose https://marketplace.visualstudio.com/_apis/public/gallery/publishers/dbaeumer/vsextensions/vscode-eslint/$VS_ESLINT_VERSION/vspackage -O dbaeumer.vscode-eslint.vsix && \
899911
# && wget --no-verbose https://github.com/microsoft/vscode-eslint/releases/download/$VS_ESLINT_VERSION-insider.2/vscode-eslint-$VS_ESLINT_VERSION.vsix -O dbaeumer.vscode-eslint.vsix && \
900912
bsdtar -xf dbaeumer.vscode-eslint.vsix extension && \
@@ -911,11 +923,13 @@ RUN \
911923
### INCUBATION ZONE ###
912924

913925
RUN \
914-
# Strict channel priority currently makes problems with installing with conda
915-
conda config --system --set channel_priority false && \
916-
# apt-get update && \
926+
# TODO: Fix problem with jupyter extension panel: https://github.com/Jupyter-contrib/jupyter_nbextensions_configurator/issues/125
927+
sed -i 's:notebook/js/mathjaxutils:base/js/mathjaxutils:g' $CONDA_PYTHON_DIR/site-packages/jupyter_nbextensions_configurator/static/nbextensions_configurator/render/render.js && \
928+
# TODO: Disable pydeck extension, cannot be loaded (404)
929+
jupyter nbextension disable pydeck/extension && \
930+
apt-get update && \
917931
# TODO: lib contains high vulnerability
918-
# apt-get install -y --no-install-recommends libffi-dev \
932+
apt-get install -y --no-install-recommends libffi-dev && \
919933
# Required by magenta
920934
# apt-get install -y libasound2-dev && \
921935
# apt-get install -y xfce4-clipman && \
@@ -935,25 +949,8 @@ RUN \
935949
clean-layer.sh && \
936950
exit 0 ; \
937951
fi && \
938-
# Install libjpeg turbo for speedup in image processing
939-
conda install -y --freeze-installed libjpeg-turbo && \
940-
# Add snakemake for workflow management
941-
conda install -y -c bioconda -c conda-forge snakemake-minimal && \
942-
# Add mamba as conda alternativ
943-
conda install -y -c conda-forge mamba && \
944-
# Faiss - A library for efficient similarity search and clustering of dense vectors.
945-
conda install -y --freeze-installed faiss-cpu && \
946-
# Install new python libraries
947-
pip install --no-cache-dir crc32c soundfile GPflow bpytop && \
948-
# Install fkill-cli
949-
npm install --global fkill-cli && \
950-
# Install pretty-errors
951-
pip install pretty_errors && \
952-
python -m pretty_errors && \
953-
# Install what if tool
954-
pip install witwidget && \
955-
jupyter nbextension install --py --symlink --sys-prefix witwidget && \
956-
jupyter nbextension enable --py --sys-prefix witwidget && \
952+
# Activate pretty-errors
953+
python -m pretty_errors -u -p && \
957954
# Cleanup
958955
clean-layer.sh
959956

@@ -1115,10 +1112,10 @@ ENV KMP_DUPLICATE_LIB_OK="True" \
11151112
MKL_THREADING_LAYER=GNU \
11161113
# To avoid over-subscription when using TBB, let the TBB schedulers use Inter Process Communication to coordinate:
11171114
ENABLE_IPC=1 \
1115+
# will cause pretty_errors to check if it is running in an interactive terminal
1116+
PYTHON_PRETTY_ERRORS_ISATTY_ONLY=1 \
11181117
# TODO: evaluate - Deactivate hdf5 file locking
1119-
HDF5_USE_FILE_LOCKING=False
1120-
# Activate better python execptions as default
1121-
# TODO: might break stuff BETTER_EXCEPTIONS=1
1118+
HDF5_USE_FILE_LOCKING=False\
11221119

11231120
# Set default values for environment variables
11241121
ENV CONFIG_BACKUP_ENABLED="true" \

0 commit comments

Comments
 (0)