@@ -457,7 +457,6 @@ RUN \
457
457
apt-get install -y --no-install-recommends gdebi && \
458
458
# Search for files
459
459
apt-get install -y --no-install-recommends catfish && \
460
- # TODO: Unable to locate package: apt-get install -y --no-install-recommends gnome-search-tool &&
461
460
apt-get install -y --no-install-recommends font-manager && \
462
461
# vs support for thunar
463
462
apt-get install -y thunar-vcs-plugin && \
@@ -591,10 +590,10 @@ RUN \
591
590
conda install -y --update-all \
592
591
'python=' $PYTHON_VERSION \
593
592
'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' \
597
594
'jupyterlab=2.2.*' \
595
+ # TODO: nbconvert 6.x makes problems with template_path
596
+ 'nbconvert=5.6.*' \
598
597
# TODO: temp fix: yarl version 1.5 is required for lots of libraries.
599
598
'yarl==1.5.*' \
600
599
# TODO install scipy, numpy, sklearn, and numexpr via conda for mkl optimizaed versions: https://docs.anaconda.com/mkl-optimizations/
@@ -606,6 +605,8 @@ RUN \
606
605
numexpr && \
607
606
# installed via apt-get and pip: protobuf \
608
607
# installed via apt-get: zlib && \
608
+ # Switch of channel priority, makes some trouble
609
+ conda config --system --set channel_priority false && \
609
610
# Install minimal pip requirements
610
611
pip install --no-cache-dir --upgrade --upgrade-strategy only-if-needed -r ${RESOURCES_PATH}/libraries/requirements-minimal.txt && \
611
612
# If minimal flavor - exit here
@@ -648,14 +649,21 @@ RUN \
648
649
# required for tesseract: 11MB - tesseract-ocr-dev?
649
650
apt-get install -y --no-install-recommends libtesseract-dev && \
650
651
pip install --no-cache-dir tesserocr && \
651
- # Required for tensorflow graphics (9MB)
652
+ # TODO: installs tenserflow 2.4 - Required for tensorflow graphics (9MB)
652
653
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 && \
654
655
# GCC OpenMP (GOMP) support library
655
656
apt-get install -y --no-install-recommends libgomp1 && \
656
657
# 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 && \
659
667
# Install full pip requirements
660
668
pip install --no-cache-dir --upgrade --upgrade-strategy only-if-needed -r ${RESOURCES_PATH}/libraries/requirements-full.txt && \
661
669
# Setup Spacy
@@ -732,6 +740,10 @@ RUN \
732
740
clean-layer.sh && \
733
741
exit 0 ; \
734
742
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 && \
735
747
# Activate qgrid
736
748
jupyter nbextension enable --py --sys-prefix qgrid && \
737
749
# TODO: Activate Colab support
@@ -771,7 +783,7 @@ RUN \
771
783
pip install jupyterlab-git && \
772
784
jupyter serverextension enable --py jupyterlab_git && \
773
785
# For Matplotlib: https://github.com/matplotlib/jupyter-matplotlib
774
- $lab_ext_install jupyter-matplotlib && \
786
+ # $lab_ext_install jupyter-matplotlib && \
775
787
# Do not install any other jupyterlab extensions
776
788
if [ "$WORKSPACE_FLAVOR" = "light" ]; then \
777
789
# Final build with minimization
@@ -791,16 +803,17 @@ RUN \
791
803
$lab_ext_install install @jupyter-widgets/jupyterlab-manager plotlywidget && \
792
804
# produces build error: jupyter labextension install jupyterlab-chart-editor && \
793
805
$lab_ext_install jupyterlab-chart-editor && \
794
- # For holoview
795
- $lab_ext_install @pyviz/jupyterlab_pyviz && \
796
806
# Install jupyterlab variable inspector - https://github.com/lckr/jupyterlab-variableInspector
797
807
$lab_ext_install @lckr/jupyterlab_variableinspector && \
808
+ # For holoview
809
+ $lab_ext_install @pyviz/jupyterlab_pyviz && \
798
810
# Install Debugger in Jupyter Lab
799
811
# pip install --no-cache-dir xeus-python && \
800
812
# $lab_ext_install @jupyterlab/debugger && \
801
813
# Install jupyterlab code formattor - https://github.com/ryantam626/jupyterlab_code_formatter
802
814
$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 && \
804
817
jupyter serverextension enable --py jupyterlab_code_formatter && \
805
818
# Final build with minimization
806
819
jupyter lab build -y --debug-log-path=/dev/stdout --log-level=WARN && \
@@ -852,7 +865,7 @@ RUN \
852
865
cd $RESOURCES_PATH && \
853
866
mkdir -p $HOME/.vscode/extensions/ && \
854
867
# Install python extension - (newer versions are 30MB bigger)
855
- VS_PYTHON_VERSION="2020.11.371526539 " && \
868
+ VS_PYTHON_VERSION="2020.12.424452561 " && \
856
869
wget --no-verbose https://github.com/microsoft/vscode-python/releases/download/$VS_PYTHON_VERSION/ms-python-release.vsix && \
857
870
bsdtar -xf ms-python-release.vsix extension && \
858
871
rm ms-python-release.vsix && \
@@ -893,8 +906,7 @@ RUN \
893
906
# && code-server --install-extension formulahendry.code-runner@$VS_CODE_RUNNER_VERSION \
894
907
sleep $SLEEP_TIMER && \
895
908
# 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" && \
898
910
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 && \
899
911
# && 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 && \
900
912
bsdtar -xf dbaeumer.vscode-eslint.vsix extension && \
@@ -911,11 +923,13 @@ RUN \
911
923
# ## INCUBATION ZONE ###
912
924
913
925
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 && \
917
931
# 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 && \
919
933
# Required by magenta
920
934
# apt-get install -y libasound2-dev && \
921
935
# apt-get install -y xfce4-clipman && \
@@ -935,25 +949,8 @@ RUN \
935
949
clean-layer.sh && \
936
950
exit 0 ; \
937
951
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 && \
957
954
# Cleanup
958
955
clean-layer.sh
959
956
@@ -1115,10 +1112,10 @@ ENV KMP_DUPLICATE_LIB_OK="True" \
1115
1112
MKL_THREADING_LAYER=GNU \
1116
1113
# To avoid over-subscription when using TBB, let the TBB schedulers use Inter Process Communication to coordinate:
1117
1114
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 \
1118
1117
# 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\
1122
1119
1123
1120
# Set default values for environment variables
1124
1121
ENV CONFIG_BACKUP_ENABLED="true" \
0 commit comments