@@ -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
913925RUN \
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
11241121ENV CONFIG_BACKUP_ENABLED="true" \
0 commit comments