# -*- mode: org -*- #+TITLE: Contrôler un environnement logiciel avec docker #+DATE: July, 2019 #+STARTUP: overview indent #+OPTIONS: num:nil toc:t #+PROPERTY: header-args :eval never-export L'objectif, c'est la reproductibilité et l'explicitation des dépendances. L'intégration continue est un moyen d'y arriver mais je dirais que notre objectif n'est pas d'en faire des experts de développement logiciel et de l'intégration continue. Il est possible de s'arrêter à l'étape 3. Ceux qui veulent allez plus loin vont jusqu'à l'étape 6. Et ceux qui veulent vraiment contrôler finement, passent par l'étape 7 et aller au delà. Ayant peu d'expérience avec Docker, je me suis appuyé sur la [[https://people.irisa.fr/Anthony.Baire/docker-tutorial.pdf][présentation d'Anthony Baire]] pour préparer cette séquence. # * Table des matières :TOC: # - [[#automatiser-lexécution-dun-notebook][Automatiser l'exécution d'un notebook]] # - [[#identifier-les-dépendances][Identifier les dépendances]] # - [[#sassure-que-docker-est-bien-installé][S'assure que docker est bien installé]] # - [[#récupérer-un-environnement-de-base][Récupérer un environnement de base]] # - [[#exécuter-une-commande-dans-un-conteneur][Exécuter une commande dans un conteneur]] # - [[#docker-en-interactif][Docker en interactif]] # - [[#automatiser-la-construction-dun-environnement][Automatiser la construction d'un environnement]] # - [[#tester-que-votre-code-sexécute-correctement-ailleurs-que-sur-votre-machine][Tester que votre code s'exécute correctement ailleurs que sur votre machine.]] # - [[#améliorer-le-test][Améliorer le test]] # - [[#aller-plus-loin][Aller plus loin]] * Autre progression 1. Automatiser l'exécution d'un notebook sur sa machine -> script. Pas de contrôle du tout de l'environnement. *Où stoquer le résultat?* *Comment indiquer si c'est OK ?* 2. CI: debian; apt-get install ; youpi! Mais lent et pas complètement figé... *Qui a "raison" ?* *Comment savoir ce qui a causé la différence ?* 3. Figer une image docker et automatiser sa construction en local (possibilité de faire à distance mais demande une mise en oeuvre un peu particulière, fragile si on ne sait pas faire à la main). 4. Intégrer son image au CI 5. Publier la recette et garantir que l'image correspond à cette recette ? 6. Reconstruire un environnement particulier? Une vieille debian par exemple ? * Automatiser l'exécution d'un notebook Commençons par un notebook tout simple, celui de challenger, et vérifions qu'il s'exécute bien sur "ma machine". Je commence par créer un répertoire pour ce notebook. #+begin_src shell :session *shell* :results output :exports both mkdir -p mooc_docker cd mooc_docker #+end_src #+RESULTS: J'y télécharge le notebook et le fichier de données. #+begin_src shell :session *shell* :results output :exports both wget https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-modele/raw/master/module2/exo5/exo5_fr.ipynb?inline=false -O notebook.ipynb wget https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-modele/raw/master/module2/exo5/shuttle.csv?inline=false -O shuttle.csv #+end_src #+RESULTS: #+begin_example --2019-07-23 09:19:24-- https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-modele/raw/master/module2/exo5/exo5_fr.ipynb?inline=false Resolving gitlab.inria.fr (gitlab.inria.fr)... 128.93.193.8 Connecting to gitlab.inria.fr (gitlab.inria.fr)|128.93.193.8|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 41019 (40K) [text/plain] Saving to: 'notebook.ipynb' [ ] 0 --.-KB/s notebook.ipynb 100%[===================>] 40.06K --.-KB/s in 0.09s 2019-07-23 09:19:25 (448 KB/s) - 'notebook.ipynb' saved [41019/41019] --2019-07-23 09:19:25-- https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-modele/raw/master/module2/exo5/shuttle.csv?inline=false Resolving gitlab.inria.fr (gitlab.inria.fr)... 128.93.193.8 Connecting to gitlab.inria.fr (gitlab.inria.fr)|128.93.193.8|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 485 [text/plain] Saving to: 'shuttle.csv' [ ] 0 --.-KB/s shuttle.csv 100%[===================>] 485 --.-KB/s in 0s 2019-07-23 09:19:25 (4.23 MB/s) - 'shuttle.csv' saved [485/485] #+end_example #+begin_src shell :session *shell* :results output :exports both ls -l #+end_src #+RESULTS: : total 56 : -rw-r--r-- 1 alegrand alegrand 41019 Jul 23 09:19 notebook.ipynb : -rw-r--r-- 1 alegrand alegrand 485 Jul 23 09:19 shuttle.csv Ce notebook a déja été exécuté. Exportons le au format html pour voir à quoi il [[file:mooc_docker/notebook.html][ressemble]]: #+begin_src shell :session *shell* :results output :exports both jupyter-nbconvert --to html notebook.ipynb ls -l #+end_src #+RESULTS: : [NbConvertApp] Converting notebook notebook.ipynb to html : [NbConvertApp] Writing 305180 bytes to notebook.html : total 356 : -rw-r--r-- 1 alegrand alegrand 305302 Jul 23 09:20 notebook.html : -rw-r--r-- 1 alegrand alegrand 41019 Jul 23 09:19 notebook.ipynb : -rw-r--r-- 1 alegrand alegrand 485 Jul 23 09:19 shuttle.csv Je vais maintenant le ré-exécuter sur ma machine. #+begin_src shell :session *shell* :results output :exports both jupyter nbconvert --to notebook --execute notebook.ipynb --output notebook_rerun.ipynb jupyter nbconvert --to html --execute notebook_rerun.ipynb ls -l #+end_src #+RESULTS: #+begin_example [NbConvertApp] Converting notebook notebook.ipynb to notebook [NbConvertApp] Executing notebook with kernel: python3 [NbConvertApp] Writing 41346 bytes to notebook_rerun.ipynb [NbConvertApp] Converting notebook notebook_rerun.ipynb to html [NbConvertApp] Executing notebook with kernel: python3 [NbConvertApp] Writing 305683 bytes to notebook_rerun.html total 700 -rw-r--r-- 1 alegrand alegrand 305302 Jul 23 09:20 notebook.html -rw-r--r-- 1 alegrand alegrand 41019 Jul 23 09:19 notebook.ipynb -rw-r--r-- 1 alegrand alegrand 305805 Jul 23 09:21 notebook_rerun.html -rw-r--r-- 1 alegrand alegrand 41473 Jul 23 09:21 notebook_rerun.ipynb -rw-r--r-- 1 alegrand alegrand 485 Jul 23 09:19 shuttle.csv #+end_example Tiens, je peux alors m'appercevoir que le notebook ainsi obtenu est différent de celui d'origine. Je peux ouvrir les deux sorties html, mais pas facile de repérer les différences... Diff aide un peu mais il vaut mieux ignorer les images stoquées dans le notebook au format binaire. #+begin_src shell :session *shell* :results output :exports both diff notebook.ipynb notebook_rerun.ipynb | grep -v image/png | sed 's/^/>/' #+end_src #+RESULTS: #+begin_example 456c456 --- 506a507,514 > "name": "stderr", > "output_type": "stream", > "text": [ > "/usr/lib/python3/dist-packages/statsmodels/compat/pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.\n", > " from pandas.core import datetools\n" > ] > }, > { 512c520 < " Dep. Variable: Frequency No. Observations: 7 \n", --- > " Dep. Variable: Frequency No. Observations: 7 \n", 515c523 < " Model: GLM Df Residuals: 5 \n", --- > " Model: GLM Df Residuals: 5 \n", 518c526 < " Model Family: Binomial Df Model: 1 \n", --- > " Model Family: Binomial Df Model: 1 \n", 521c529 < " Link Function: logit Scale: 1.0000 \n", --- > " Link Function: logit Scale: 1.0 \n", 524c532 < " Method: IRLS Log-Likelihood: -2.5250 \n", --- > " Method: IRLS Log-Likelihood: -3.6370\n", 527c535 < " Date: Sat, 13 Apr 2019 Deviance: 0.22231 \n", --- > " Date: Tue, 23 Jul 2019 Deviance: 3.3763\n", 530c538 < " Time: 19:11:24 Pearson chi2: 0.236 \n", --- > " Time: 09:21:16 Pearson chi2: 0.236 \n", 533c541 < " No. Iterations: 4 Covariance Type: nonrobust\n", --- > " No. Iterations: 5 \n", 556,560c564,568 < "Link Function: logit Scale: 1.0000\n", < "Method: IRLS Log-Likelihood: -2.5250\n", < "Date: Sat, 13 Apr 2019 Deviance: 0.22231\n", < "Time: 19:11:24 Pearson chi2: 0.236\n", < "No. Iterations: 4 Covariance Type: nonrobust\n", --- > "Link Function: logit Scale: 1.0\n", > "Method: IRLS Log-Likelihood: -3.6370\n", > "Date: Tue, 23 Jul 2019 Deviance: 3.3763\n", > "Time: 09:21:16 Pearson chi2: 0.236\n", > "No. Iterations: 5 \n", 613c621 --- #+end_example Certaines différences sont insignifiantes (l'heure, la date ou le warning sur =pandas.core.datetools= qui ne sera bientôt plus maintenu), mais d'autres sont plus alarmantes. Le nombre d'itérations pour calculer la régression logistique n'est pas le même (5 au lieu de 4) et les valeurs de Log-Likelihood et de Deviance sont très différentes. Que s'est-il passé ? A priori, ce sont des bibliothèques python différentes qui ont été utilisées et qui expliquent ces différences. Nous allons voir comment contrôler tout ceci. * Identifier les dépendances Je vais vous montrer comment créer et manipuler une image et un conteneur docker sur ma machine pas à pas. Vous n'aurez pas forcément à réaliser ce genre de choses par la suite sur votre machine mais il est bon que vous voyiez comment cela se passe afin que, lorsque vous utiliserez des outils qui font ça automatiquement pour vous dans le cloud, il n'y ait rien de mystérieux. Docker va vous permettre d'exécuter des programmes dans ce que l'on appelle des conteneurs. Un /conteneur/ est une sorte de mini-machine virtuelle dont le système de fichier est appelé /image/ et qui va donc exécuter un /programme/. Je peux avoir à un instant donné plusieurs conteneurs exécutant des programmes différents issus d'images différentes ou identiques. - Le premier avantage de cette approche est que votre programme sera isolé du reste de votre machine et, quoi que vous fassiez dans ce conteneur, vous n'abimerez pas votre propre machine en installant des bibliothèques plus anciennes ou plus modernes qui seraient incompatibles. - Le second avantage est que vous pourrez préparer plusieurs conteneurs différents pour vérifier si votre programme fonctionne toujours bien. ** S'assure que docker est bien installé Je suis sur une machine linux (une debian) et j'ai donc installé docker via le paquet =docker.io=. J'ai aussi pris soin de me mettre dans le groupe docker pour ne pas avoir à passer root à chaque fois. Voici comment j'ai fait. #+begin_src shell :results output :exports both :eval never sudo apt-get install docker.io sudo adduser alegrand docker #+end_src #+begin_src shell :session *shell* :results output :exports both docker version #+end_src #+RESULTS: #+begin_example Client: Version: 1.13.1 API version: 1.26 Go version: go1.9.3 Git commit: 092cba3 Built: Thu Feb 1 09:36:44 2018 OS/Arch: linux/amd64 Server: Version: 1.13.1 API version: 1.26 (minimum version 1.12) Go version: go1.9.3 Git commit: 092cba3 Built: Thu Feb 1 09:36:44 2018 OS/Arch: linux/amd64 Experimental: false #+end_example ** Récupérer une image de base Nous pouvons commener. L'idée pour bien contrôler son environnement va être de partir d'un environnement minimaliste et dans lequel notre notebook aura d'ailleurs peu de chances de s'exécuter. Je partirai d'une image debian stable. #+begin_src shell :session *shell* :results output :exports both docker pull debian:stable #+end_src #+RESULTS: : stable: Pulling from library/debian : : 5893bf6f34bb: Pulling fs layer : 5893bf6f34bb: Downloading 507kB/50.38MB : 5893bf6f34bb: Verifying Checksum : 5893bf6f34bb: Download complete : 5893bf6f34bb: Extracting 524.3kB/50.38MB : 5893bf6f34bb: Pull complete : Digest: sha256:4d28f191a4c9dec569867dd9af1e388c995146057a36d5b3086e599af7c2379b : Status: Downloaded newer image for debian:stable La commande précédent s'est connectée sur le https://hub.docker.com/ pour y télécharger une image officielle debian stable. Je peux la trouver listée ici: https://hub.docker.com/_/debian. Que puis-je savoir sur cette image ? #+begin_src shell :session *shell* :results output :exports both docker image ls #+end_src #+RESULTS: #+begin_example REPOSITORY TAG IMAGE ID CREATED SIZE simgrid-website latest 0f3727380ab6 12 days ago 1.19GB debian stable 40e13c3c9aab 12 days ago 114MB #+end_example Mon image apparaît. Elle fait 114MB et a été construite il y a 12 jours. ** Exécuter une commande dans un conteneur Grâce à la commande docker run, je vais pouvoir exécuter des commandes dans le conteneur que je viens de télécharger. Par exemple, comme ceci. #+begin_src shell :session *shell* :results output :exports both docker run debian:stable ls #+end_src #+RESULTS: #+begin_example bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var #+end_example Bon, ok, ce n'est pas très impressionnant. Essayons avec la commande =hostname= qui me renverra comment s'appelle la machine. #+begin_src shell :session *shell* :results output :exports both docker run debian:stable hostname #+end_src #+RESULTS: : 07193bfee89f Ah, oui, c'est assez différent de ce que j'obtiens quand je lance cette commande directement sur ma machine: #+begin_src shell :session *shell* :results output :exports both hostname #+end_src #+RESULTS: : icarus Continuons de comparer. Est-ce que l'on trouve python dans cet environnement ? #+begin_src shell :session *shell* :results output :exports both ls /usr/bin/X11//python3 # chez moi oui docker run debian:stable ls -l /usr/bin/X11//python3 # mais pas dans cet environnement #+end_src #+RESULTS: : /usr/bin/X11//python3 : ls: cannot access '/usr/bin/X11//python3': No such file or directory En fait, à chaque fois que je lance cette commande docker, c'est un peu comme si un mini-système d'exploitation démarrait, exécutait cette commande et s'éteignait... C'est un peu pénible d'avoir à toujours préfixer par =docker run=, donc une solution simple consiste à lancer docker en mode interactif. ** Docker en interactif À partir de maintenant, il vous faudra bien faire attention à distinguer les commandes qui sont lancées sur mon système de base de celles qui sont lancées dans notre conteneur docker. #+begin_src shell :session *docker* :results output :exports both docker run --name debian -t -i debian:stable #+end_src #+RESULTS: : : echo 'org_babel_sh_eoe' Je peux alors exécuter plusieurs séries de commandes facilement dans mon environnement: #+begin_src shell :session *docker* :results output :exports both hostname python #+end_src #+RESULTS: : hostname : dca997abf7cc : python : bash: python: command not found Mmh, et bien installons python du coup. #+begin_src shell :session *docker* :results output :exports both whoami apt-get update apt-get install -y python3 #+end_src #+RESULTS: : whoami : root : apt-get update : Get:1 http://cdn-fastly.deb.debian.org/debian stable InRelease [118 kB] : Get:2 http://security-cdn.debian.org/debian-security stable/updates InRelease [39.1 kB] : Get:3 http://cdn-fastly.deb.debian.org/debian stable-updates InRelease [46.8 kB] : Get:4 http://security-cdn.debian.org/debian-security stable/updates/main amd64 Packages [49.4 kB] : Get:5 http://cdn-fastly.deb.debian.org/debian stable/main amd64 Packages [7897 kB] : Fetched 8150 kB in 12s (682 kB/s) : Reading package lists... Done : apt-get install python3 : apt-get install python3 : Reading package lists... Done : Building dependency tree : Reading state information... Done : The following additional packages will be installed: : bzip2 file libexpat1 libmagic-mgc libmagic1 libmpdec2 libpython3-stdlib : libpython3.7-minimal libpython3.7-stdlib libreadline7 libsqlite3-0 libssl1.1 : mime-support python3-minimal python3.7 python3.7-minimal readline-common xz-utils : Suggested packages: : bzip2-doc python3-doc python3-tk python3-venv python3.7-venv python3.7-doc binutils : binfmt-support readline-doc : The following NEW packages will be installed: : bzip2 file libexpat1 libmagic-mgc libmagic1 libmpdec2 libpython3-stdlib : libpython3.7-minimal libpython3.7-stdlib libreadline7 libsqlite3-0 libssl1.1 : mime-support python3 python3-minimal python3.7 python3.7-minimal readline-common : xz-utils : 0 upgraded, 19 newly installed, 0 to remove and 0 not upgraded. : Need to get 7789 kB of archives. : After this operation, 36.3 MB of additional disk space will be used. : Get:1 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libssl1.1 amd64 1.1.1c-1 [1535 kB] : Get:2 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libpython3.7-minimal amd64 3.7.3-2 [588 kB] : Get:3 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libexpat1 amd64 2.2.6-2 [106 kB] : Get:4 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3.7-minimal amd64 3.7.3-2 [1736 kB] : Get:5 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-minimal amd64 3.7.3-1 [36.6 kB] : Get:6 http://cdn-fastly.deb.debian.org/debian stable/main amd64 mime-support all 3.62 [37.2 kB] : Get:7 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libmpdec2 amd64 2.4.2-2 [87.2 kB] : Get:8 http://cdn-fastly.deb.debian.org/debian stable/main amd64 readline-common all 7.0-5 [70.6 kB] : Get:9 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libreadline7 amd64 7.0-5 [151 kB] : Get:10 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libsqlite3-0 amd64 3.27.2-3 [641 kB] : Get:11 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libpython3.7-stdlib amd64 3.7.3-2 [1732 kB] : Get:12 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3.7 amd64 3.7.3-2 [330 kB] : Get:13 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libpython3-stdlib amd64 3.7.3-1 [20.0 kB] : Get:14 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3 amd64 3.7.3-1 [61.5 kB] : Get:15 http://cdn-fastly.deb.debian.org/debian stable/main amd64 bzip2 amd64 1.0.6-9.1 [48.3 kB] : Get:16 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libmagic-mgc amd64 1:5.35-4 [242 kB] : Get:17 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libmagic1 amd64 1:5.35-4 [117 kB] : Get:18 http://cdn-fastly.deb.debian.org/debian stable/main amd64 file amd64 1:5.35-4 [66.3 kB] : Get:19 http://cdn-fastly.deb.debian.org/debian stable/main amd64 xz-utils amd64 5.2.4-1 [183 kB] : Fetched 7789 kB in 12s (635 kB/s) : debconf: delaying package configuration, since apt-utils is not installed : Selecting previously unselected package libssl1.1:amd64. : (Reading database ... 6674 files and directories currently installed.) : Preparing to unpack .../libssl1.1_1.1.1c-1_amd64.deb ... : Unpacking libssl1.1:amd64 (1.1.1c-1) ... : Selecting previously unselected package libpython3.7-minimal:amd64. : Preparing to unpack .../libpython3.7-minimal_3.7.3-2_amd64.deb ... : Unpacking libpython3.7-minimal:amd64 (3.7.3-2) ... : Selecting previously unselected package libexpat1:amd64. : Preparing to unpack .../libexpat1_2.2.6-2_amd64.deb ... : Unpacking libexpat1:amd64 (2.2.6-2) ... : Selecting previously unselected package python3.7-minimal. : Preparing to unpack .../python3.7-minimal_3.7.3-2_amd64.deb ... : Unpacking python3.7-minimal (3.7.3-2) ... : Setting up libssl1.1:amd64 (1.1.1c-1) ... : debconf: unable to initialize frontend: Dialog : debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.) : debconf: falling back to frontend: Readline : debconf: unable to initialize frontend: Readline : debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) : debconf: falling back to frontend: Teletype : Setting up libpython3.7-minimal:amd64 (3.7.3-2) ... : Setting up libexpat1:amd64 (2.2.6-2) ... : Setting up python3.7-minimal (3.7.3-2) ... : Selecting previously unselected package python3-minimal. : (Reading database ... 6935 files and directories currently installed.) : Preparing to unpack .../0-python3-minimal_3.7.3-1_amd64.deb ... : Unpacking python3-minimal (3.7.3-1) ... : Selecting previously unselected package mime-support. : Preparing to unpack .../1-mime-support_3.62_all.deb ... : Unpacking mime-support (3.62) ... : Selecting previously unselected package libmpdec2:amd64. : Preparing to unpack .../2-libmpdec2_2.4.2-2_amd64.deb ... : Unpacking libmpdec2:amd64 (2.4.2-2) ... : Selecting previously unselected package readline-common. : Preparing to unpack .../3-readline-common_7.0-5_all.deb ... : Unpacking readline-common (7.0-5) ... : Selecting previously unselected package libreadline7:amd64. : Preparing to unpack .../4-libreadline7_7.0-5_amd64.deb ... : Unpacking libreadline7:amd64 (7.0-5) ... : Selecting previously unselected package libsqlite3-0:amd64. : Preparing to unpack .../5-libsqlite3-0_3.27.2-3_amd64.deb ... : Unpacking libsqlite3-0:amd64 (3.27.2-3) ... : Selecting previously unselected package libpython3.7-stdlib:amd64. : Preparing to unpack .../6-libpython3.7-stdlib_3.7.3-2_amd64.deb ... : Unpacking libpython3.7-stdlib:amd64 (3.7.3-2) ... : Selecting previously unselected package python3.7. : Preparing to unpack .../7-python3.7_3.7.3-2_amd64.deb ... : Unpacking python3.7 (3.7.3-2) ... : Selecting previously unselected package libpython3-stdlib:amd64. : Preparing to unpack .../8-libpython3-stdlib_3.7.3-1_amd64.deb ... : Unpacking libpython3-stdlib:amd64 (3.7.3-1) ... : Setting up python3-minimal (3.7.3-1) ... : Selecting previously unselected package python3. : (Reading database ... 7404 files and directories currently installed.) : Preparing to unpack .../0-python3_3.7.3-1_amd64.deb ... : Unpacking python3 (3.7.3-1) ... : Selecting previously unselected package bzip2. : Preparing to unpack .../1-bzip2_1.0.6-9.1_amd64.deb ... : Unpacking bzip2 (1.0.6-9.1) ... : Selecting previously unselected package libmagic-mgc. : Preparing to unpack .../2-libmagic-mgc_1%3a5.35-4_amd64.deb ... : Unpacking libmagic-mgc (1:5.35-4) ... : Selecting previously unselected package libmagic1:amd64. : Preparing to unpack .../3-libmagic1_1%3a5.35-4_amd64.deb ... : Unpacking libmagic1:amd64 (1:5.35-4) ... : Selecting previously unselected package file. : Preparing to unpack .../4-file_1%3a5.35-4_amd64.deb ... : Unpacking file (1:5.35-4) ... : Selecting previously unselected package xz-utils. : Preparing to unpack .../5-xz-utils_5.2.4-1_amd64.deb ... : Unpacking xz-utils (5.2.4-1) ... : Setting up mime-support (3.62) ... : Setting up libmagic-mgc (1:5.35-4) ... : Setting up libsqlite3-0:amd64 (3.27.2-3) ... : Setting up libmagic1:amd64 (1:5.35-4) ... : Setting up file (1:5.35-4) ... : Setting up bzip2 (1.0.6-9.1) ... : Setting up xz-utils (5.2.4-1) ... : update-alternatives: using /usr/bin/xz to provide /usr/bin/lzma (lzma) in auto mode : Setting up libmpdec2:amd64 (2.4.2-2) ... : Setting up readline-common (7.0-5) ... : Setting up libreadline7:amd64 (7.0-5) ... : Setting up libpython3.7-stdlib:amd64 (3.7.3-2) ... : Setting up libpython3-stdlib:amd64 (3.7.3-1) ... : Setting up python3.7 (3.7.3-2) ... : Setting up python3 (3.7.3-1) ... : running python rtupdate hooks for python3.7... : running python post-rtupdate hooks for python3.7... : Processing triggers for libc-bin (2.28-10) ... Je peux donc enfin exécuter du code python dans mon environnement docker. #+begin_src shell :session *docker* :results output :exports both ls -l /usr/bin/X11//python3 python3 --version #+end_src #+RESULTS: : ls -l /usr/bin/X11//python3 : python3.7 : python3 --version : Python 3.7.3 Au passage, on peut vérifier que ce n'est pas le même que celui qui est sur ma machine: #+begin_src shell :session *shell* :results output :exports both python3 --version #+end_src #+RESULTS: : Python 3.7.2rc1 ** Installer tous les paquets dont on a besoin Bien, j'ai python3 mais ça ne suffira pas pour exécuter mon notebook. Il me faudra aussi bien sûr =jupyter= et différents paquets comme =matplotlib=, =pandas=, =numpy=, =statsmodels=... Courage, allons-y! #+begin_src shell :session *docker* :results output :exports both apt-get install -y jupyter-nbconvert python3-ipykernel python3-matplotlib python3-pandas python3-numpy python3-statsmodels #+end_src #+RESULTS: #+BEGIN_EXAMPLE apt-get install -y jupyter-nbconvert python3-ipykernel python3-matplotlib python3-pandas python3-numpy python3-statsmodels 0 upgraded, 247 newly installed, 0 to remove and 0 not upgraded. Need to get 204 MB of archives. After this operation, 742 MB of additional disk space will be used. #+END_EXAMPLE Misère. Donc, 800Mb plus tard... :) Je peux alors lancer python qui importe matplotlib. #+begin_src shell :session *docker* :results output :exports both python3 -c "import matplotlib" #+end_src #+RESULTS: Alors que la même chose avec un paquet non existant me renvoie un message d'erreur: #+begin_src shell :session *shell* :results output :exports both python3 -c "import gnuplot365" #+end_src #+RESULTS: : Traceback (most recent call last): : ", line 1, in : ModuleNotFoundError: No module named 'gnuplot365' Bon, tout a l'air de très bien marcher. Tiens à tout hasard, si je cherche python via =docker run=, qu'est-ce que j'obtiens ? #+begin_src shell :session *shell* :results output :exports both docker run debian:stable ls -l /usr/bin/X11//python3 #+end_src #+RESULTS: : ls: cannot access '/usr/bin/X11//python3': No such file or directory Gloups. À ce stade j'ai donc un environnement docker qui est toujours en train de s'exécuter et dans lequel python3 est bien installé mais ça n'est pas accessible en dehors. En fait, dès que je fermerai le terminal où se trouve mon docker interactif, je risque de perdre tout ce que je viens d'installer. ** Gérer ses conteneurs et figer un environnement Il est temps que je vous montre comment manipuler ces conteneur. Tout d'abord, la commande =docker ps= me permet de savoir quels sont les conteneurs en cours d'exécution (il n'y en a qu'un pour l'instant mais je pourrais en avoir plusieurs): #+begin_src shell :session *shell* :results output :exports both docker ps #+end_src #+RESULTS: : CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES : dca997abf7cc debian:stable "bash" 35 minutes ago Up 35 minutes debian Mon conteneur est donc identifié par ce =CONTAINER_ID= et il s'exécute depuis une demi-heure. Il a été modifié depuis qu'il a commencé et je peux demander à docker ce qui a changé (attention, c'est long alors je coupe pour ne montrer que le début): #+begin_src shell :session *shell* :results output :exports both docker diff dca997abf7cc | head -n 60 #+end_src #+RESULTS: #+begin_example C /bin A /bin/bunzip2 A /bin/bzcat A /bin/bzcmp A /bin/bzdiff A /bin/bzegrep A /bin/bzexe A /bin/bzfgrep A /bin/bzgrep A /bin/bzip2 A /bin/bzip2recover A /bin/bzless A /bin/bzmore A /bin/fuser A /bin/kill A /bin/ps C /etc C /etc/.pwd.lock D /etc/X11 A /etc/X11/Xreset A /etc/X11/Xreset.d A /etc/X11/Xreset.d/README A /etc/X11/Xresources A /etc/X11/Xresources/x11-common A /etc/X11/Xsession A /etc/X11/Xsession.d A /etc/X11/Xsession.d/20x11-common_process-args A /etc/X11/Xsession.d/30x11-common_xresources A /etc/X11/Xsession.d/35x11-common_xhost-local A /etc/X11/Xsession.d/40x11-common_xsessionrc A /etc/X11/Xsession.d/50x11-common_determine-startup A /etc/X11/Xsession.d/90gpg-agent A /etc/X11/Xsession.d/90x11-common_ssh-agent A /etc/X11/Xsession.d/99x11-common_start A /etc/X11/Xsession.options A /etc/X11/rgb.txt C /etc/alternatives A /etc/alternatives/c++ A /etc/alternatives/c89 A /etc/alternatives/c89.1.gz A /etc/alternatives/c99 A /etc/alternatives/c99.1.gz A /etc/alternatives/cc A /etc/alternatives/cpp A /etc/alternatives/faked.1.gz A /etc/alternatives/faked.es.1.gz A /etc/alternatives/faked.fr.1.gz A /etc/alternatives/faked.sv.1.gz A /etc/alternatives/fakeroot A /etc/alternatives/fakeroot.1.gz A /etc/alternatives/fakeroot.es.1.gz A /etc/alternatives/fakeroot.fr.1.gz A /etc/alternatives/fakeroot.sv.1.gz A /etc/alternatives/jsonschema A /etc/alternatives/libblas.so.3-x86_64-linux-gnu A /etc/alternatives/liblapack.so.3-x86_64-linux-gnu A /etc/alternatives/lzcat A /etc/alternatives/lzcat.1.gz A /etc/alternatives/lzcmp A /etc/alternatives/lzcmp.1.gz #+end_example Je vais sauvegarder cet environnement avec la commande =docker commit=. #+begin_src shell :session *shell* :results output :exports both docker commit debian debian_stable_jupyter #+end_src #+RESULTS: : sha256:2b001b2c02a66a7bf2ab2e7e3d234f3611bc7e6228e2f423ceb7d294cb6bd442 Et voilà! Mon nouvel environnement est maintenant figé et visible sur ma machine: #+begin_src shell :session *shell* :results output :exports both docker image ls #+end_src #+RESULTS: #+begin_example REPOSITORY TAG IMAGE ID CREATED SIZE debian_stable_jupyter latest 2b001b2c02a6 About a minute ago 962MB simgrid-website latest 0f3727380ab6 13 days ago 1.19GB debian stable 40e13c3c9aab 13 days ago 114MB #+end_example #+begin_src shell :session *shell* :results output :exports both docker run debian_stable_jupyter ls -l /usr/bin/X11//python3 #+end_src #+RESULTS: : : python3.7 Je peux donc maintenant arrêter mon conteneur: #+begin_src shell :session *shell* :results output :exports both docker stop debian #+end_src #+RESULTS: : exit : debian Je peux alors vérifier que mon conteneur est arrêté. #+begin_src shell :results output :exports both docker ps #+end_src #+RESULTS: : CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ** Exécuter notre notebook dans ce nouvel environnemnt Le conteneur ayant son propre système de fichier, il va falloir trouver un moyen d'y importer notre notebook. Le plus simple consiste à monter notre répertoire courant dans le =/tmp= du conteneur. #+begin_src shell :session *shell* :results output :exports both echo "-- Sans partage" docker run debian_stable_jupyter ls /tmp echo "-- Avec partage" docker run --volume=`pwd`:/tmp debian_stable_jupyter ls /tmp #+end_src #+RESULTS: : -- Sans partage : ]0;alegrand@icarus: /home/alegrand/Work/Documents/Enseignements/RR_MOOC/gitlab-inria/mooc-rr-ressources/module4/ressources/mooc_dockericarus:~/Work/Documents/Enseignements/RR_MOOC/gitlab-inria/mooc-rr-ressources/module4/ressources/mooc_docker$ -- Avec partage : notebook.html : notebook.ipynb : notebook_rerun.html : notebook_rerun.ipynb : shuttle.csv #+begin_src shell :session *shell* :results output :exports both cp notebook.ipynb notebook_docker.ipynb docker run --volume=`pwd`:/tmp debian_stable_jupyter jupyter-nbconvert --to notebook --execute /tmp/notebook_docker.ipynb --output /tmp/notebook_docker.ipynb docker run --volume=`pwd`:/tmp debian_stable_jupyter jupyter-nbconvert --to html /tmp/notebook_docker.ipynb #+end_src #+RESULTS: : : [NbConvertApp] Converting notebook /tmp/notebook_docker.ipynb to notebook : [NbConvertApp] Executing notebook with kernel: python3 : [NbConvertApp] Writing 41346 bytes to /tmp/notebook_docker.ipynb : [NbConvertApp] Converting notebook /tmp/notebook_docker.ipynb to html : [NbConvertApp] Writing 317710 bytes to /tmp/notebook_docker.html #+begin_src shell :session *shell* :results output :exports both ls -l #+end_src #+RESULTS: : total 1056 : -rw-r--r-- 1 alegrand alegrand 305302 Jul 23 09:20 notebook.html : -rw-r--r-- 1 alegrand alegrand 41019 Jul 23 09:19 notebook.ipynb : -rw-r--r-- 1 root root 317832 Jul 23 10:10 notebook_docker.html : -rw-r--r-- 1 alegrand alegrand 41473 Jul 23 10:10 notebook_docker.ipynb : -rw-r--r-- 1 alegrand alegrand 305805 Jul 23 09:21 notebook_rerun.html : -rw-r--r-- 1 alegrand alegrand 41473 Jul 23 09:21 notebook_rerun.ipynb : -rw-r--r-- 1 alegrand alegrand 485 Jul 23 09:19 shuttle.csv Une fois de plus le résultat semble différent (pas la même taille). Regardons les différences entre ce qui a été exécuté dans mon environnement de base et dans mon conteneur. #+begin_src shell :session *shell* :results output :exports both diff notebook_rerun.ipynb notebook_docker.ipynb # | sed 's/^/>/' #+end_src #+RESULTS: #+begin_example 456c456 < "image/png": "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\n", --- > "image/png": "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\n", 538c538 < " Time: 09:21:16 Pearson chi2: 0.236 \n", --- > " Time: 08:10:00 Pearson chi2: 0.236 \n", 567c567 < "Time: 09:21:16 Pearson chi2: 0.236\n", --- > "Time: 08:10:00 Pearson chi2: 0.236\n", 621c621 < "image/png": "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\n", --- > "image/png": "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\n", #+end_example Aaah, cette fois-ci, forcément, la date a changé mais ça a l'air moins grave que tout à l'heure. Et si on regarde très attentivement on fini par remarquer que quelques lettres ont changé dans l'encodage des images. Elles sont donc a différentes mais pas sûr que ça soit visible à l'oeil nu. ** Conclusion Nous avons donc vu comment construire un environnement manuellement. Ce n'est pas très compliqué mais il faut être soigneux. Ici tout s'est passé sans encombre mais la première fois, j'avais oublié d'installer le noyau jupyter python3 (=python3-ipykernel=) au moment de la réexécution de =notebook_docker.ipynb=, j'ai eu droit à un joli message d'erreur. Il faut alors relancer le conteneur en interactif, réinstaller ce qui manque, le figer de l'extérieur, etc. Mais pourquoi ne pas avoir téléchargé le notebook et les dans l'environnement? Et bien parce que ce n'est pas propre et qu'ils y seraient restés... Ce que je souhaite obtenir ici, c'est figer un environnemnet logiciel avec les bonnes dépendances pour pouvoir refaire mes calculs éventuellement sur de nouvelles données. C'est pour cela que je partage le répertoire contenant mon notebook et mon fichier csv. ** Update :noexport: Renaming the image to =debian_stable_jupyter_alpha=. #+begin_src shell :results output :exports both docker tag debian_stable_jupyter debian_stable_jupyter_alpha docker rmi debian_stable_jupyter #+end_src #+begin_src shell :session *shell* :results output :exports both docker run --volume=`pwd`:/tmp --name debian_mooc -t -i debian_stable_jupyter_alpha #+end_src #+RESULTS: #+begin_src shell :session *shell* :results output :exports both apt-get install -y python3-ipykernel #+end_src #+begin_src shell :results output :exports both docker ps #+end_src #+RESULTS: : CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES : a2d6b6cd921c debian_stable_jupyter_alpha "bash" 4 minutes ago Up 4 minutes debian_mooc #+begin_src shell :results output :exports both docker diff a2d6b6cd921c | head -n 60 #+end_src #+RESULTS: #+begin_example C /root D /root/.cache A /root/.cache/matplotlib A /root/.cache/matplotlib/fontlist-v300.json A /root/.cache/matplotlib/tex.cache D /root/.ipython A /root/.ipython/extensions A /root/.ipython/nbextensions A /root/.ipython/profile_default A /root/.ipython/profile_default/db A /root/.ipython/profile_default/history.sqlite A /root/.ipython/profile_default/log A /root/.ipython/profile_default/pid A /root/.ipython/profile_default/security A /root/.ipython/profile_default/startup A /root/.ipython/profile_default/startup/README C /usr/lib/python3/dist-packages C /usr/lib/python3/dist-packages/__pycache__ A /usr/lib/python3/dist-packages/__pycache__/ipykernel_launcher.cpython-37.pyc D /usr/lib/python3/dist-packages/ipykernel A /usr/lib/python3/dist-packages/ipykernel/__init__.py A /usr/lib/python3/dist-packages/ipykernel/__main__.py A /usr/lib/python3/dist-packages/ipykernel/__pycache__ A /usr/lib/python3/dist-packages/ipykernel/__pycache__/__init__.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/__main__.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/_eventloop_macos.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/_version.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/codeutil.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/connect.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/datapub.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/displayhook.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/embed.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/eventloops.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/heartbeat.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/iostream.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/ipkernel.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/jsonutil.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/kernelapp.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/kernelbase.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/kernelspec.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/log.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/parentpoller.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/pickleutil.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/serialize.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/__pycache__/zmqshell.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/_eventloop_macos.py A /usr/lib/python3/dist-packages/ipykernel/_version.py A /usr/lib/python3/dist-packages/ipykernel/codeutil.py A /usr/lib/python3/dist-packages/ipykernel/comm A /usr/lib/python3/dist-packages/ipykernel/comm/__init__.py A /usr/lib/python3/dist-packages/ipykernel/comm/__pycache__ A /usr/lib/python3/dist-packages/ipykernel/comm/__pycache__/__init__.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/comm/__pycache__/comm.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/comm/__pycache__/manager.cpython-37.pyc A /usr/lib/python3/dist-packages/ipykernel/comm/comm.py A /usr/lib/python3/dist-packages/ipykernel/comm/manager.py A /usr/lib/python3/dist-packages/ipykernel/connect.py A /usr/lib/python3/dist-packages/ipykernel/datapub.py A /usr/lib/python3/dist-packages/ipykernel/displayhook.py A /usr/lib/python3/dist-packages/ipykernel/embed.py #+end_example #+begin_src shell :results output :exports both docker commit debian_mooc debian_stable_jupyter #+end_src #+RESULTS: : sha256:2b001b2c02a66a7bf2ab2e7e3d234f3611bc7e6228e2f423ceb7d294cb6bd442 * Automatiser la construction d'un environnement et le parager. Vous remarquerez que dans tout ce qui a précédé, j'ai noté dans mon journal de ce que j'ai effectué mais vous n'avez aucune garantie que je n'ai rien oublié. De plus, si vous voulez refaire cet environnement vous même, il vous faudra suivre ces instructions scrupuleusement en espérant que rien n'aille de travers. Je vais donc maintenant introduire alors la notion de dockerfile qui va réaliser la préparation de l'environnement automatiquement à l'aide de la commande =docker build= puis je montrerais comment le rendre public à l'aide de la commande =docker push=. Vous allez voir que c'est bien plus simple que tout ce que je vous ai montré précedémment puisque tout est caché! ** Automatiser la construction de son environnement Je commence par créer un répertoire dans lequel sera stoqué un =[[file:mooc_docker_image/Dockerfile][Dockerfile]]=. #+begin_src shell :results output :exports both mkdir -p mooc_docker_image #+end_src #+RESULTS: Et dont voici le contenu. Vous voyez qu'il part d'une image =debian:stable=, la met à jour et installe les différents #+begin_src shell :results output :exports both :tangle mooc_docker_image/Dockerfile FROM debian:stable LABEL maintainer="Arnaud Legrand " RUN apt-get update \ && apt-get install -y python3 \ jupyter-nbconvert python3-ipykernel \ python3-matplotlib python3-pandas python3-numpy python3-statsmodels #+end_src #+begin_src shell :results output :exports both docker build mooc_docker_image #+end_src #+RESULTS: #+begin_example Sending build context to Docker daemon 2.048kB Step 1/3 : FROM debian:stable ---> 40e13c3c9aab Step 2/3 : LABEL maintainer "Arnaud Legrand " ---> Running in 8a9a34c45d09 ---> 0ab85d4f10f5 Removing intermediate container 8a9a34c45d09 Step 3/3 : RUN apt-get update && apt-get install -y python3 jupyter-nbconvert python3-ipykernel python3-matplotlib python3-pandas python3-numpy python3-statsmodels ---> Running in e2a4b2e6b46b Get:1 http://cdn-fastly.deb.debian.org/debian stable InRelease [118 kB] Get:2 http://security-cdn.debian.org/debian-security stable/updates InRelease [39.1 kB] Get:3 http://cdn-fastly.deb.debian.org/debian stable-updates InRelease [46.8 kB] Get:4 http://security-cdn.debian.org/debian-security stable/updates/main amd64 Packages [49.4 kB] Get:5 http://cdn-fastly.deb.debian.org/debian stable/main amd64 Packages [7897 kB] Fetched 8150 kB in 9s (870 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: binutils binutils-common binutils-x86-64-linux-gnu blt build-essential bzip2 ca-certificates cpp cpp-8 dbus dh-python dirmngr dpkg-dev fakeroot file fontconfig-config fonts-lyx g++ g++-8 gcc gcc-8 gir1.2-glib-2.0 gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm javascript-common krb5-locales libaec0 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libamd2 libapparmor1 libasan5 libassuan0 libatomic1 libbinutils libblas3 libblosc1 libbsd0 libc-dev-bin libc6-dev libcamd2 libcc1-0 libccolamd2 libcholmod3 libcolamd2 libdbus-1-3 libdpkg-perl libdsdp-5.8gf libexpat1 libexpat1-dev libfakeroot libfftw3-double3 libfile-fcntllock-perl libfontconfig1 libfreetype6 libgcc-8-dev libgdbm-compat4 libgdbm6 libgfortran5 libgirepository-1.0-1 libglib2.0-0 libglib2.0-data libglpk40 libgomp1 libgpm2 libgsl23 libgslcblas0 libgssapi-krb5-2 libhdf5-103 libicu63 libimagequant0 libisl19 libitm1 libjbig0 libjpeg62-turbo libjs-jquery libjs-jquery-ui libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libksba8 liblapack3 liblcms2-2 libldap-2.4-2 libldap-common liblocale-gettext-perl liblsan0 libltdl7 liblua5.1-0 liblzo2-2 libmagic-mgc libmagic1 libmetis5 libmpc3 libmpdec2 libmpfr6 libmpx2 libncurses6 libnorm1 libnpth0 libperl5.28 libpgm-5.2-0 libpng16-16 libprocps7 libpython3-dev libpython3-stdlib libpython3.7 libpython3.7-dev libpython3.7-minimal libpython3.7-stdlib libquadmath0 libreadline7 libsasl2-2 libsasl2-modules libsasl2-modules-db libsnappy1v5 libsodium23 libsqlite3-0 libssl1.1 libstdc++-8-dev libsuitesparseconfig5 libsz2 libtcl8.6 libtiff5 libtk8.6 libtsan0 libubsan1 libumfpack5 libwebp6 libwebpdemux2 libwebpmux3 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxft2 libxml2 libxrender1 libxslt1.1 libxss1 libyaml-0-2 libzmq5 linux-libc-dev lsb-base make manpages manpages-dev mime-support netbase openssl pandoc pandoc-data patch perl perl-modules-5.28 pinentry-curses procps psmisc python-matplotlib-data python-pip-whl python-tables-data python3-asn1crypto python3-atomicwrites python3-attr python3-bleach python3-bs4 python3-cffi-backend python3-chardet python3-crypto python3-cryptography python3-cvxopt python3-cycler python3-dateutil python3-dbus python3-decorator python3-defusedxml python3-dev python3-distutils python3-entrypoints python3-gi python3-html5lib python3-ipython python3-ipython-genutils python3-jinja2 python3-joblib python3-jsonschema python3-jupyter-client python3-jupyter-core python3-keyring python3-keyrings.alt python3-kiwisolver python3-lib2to3 python3-lxml python3-markupsafe python3-minimal python3-mistune python3-more-itertools python3-nbconvert python3-nbformat python3-numexpr python3-olefile python3-pandas-lib python3-pandocfilters python3-patsy python3-pexpect python3-pickleshare python3-pil python3-pip python3-pkg-resources python3-pluggy python3-prompt-toolkit python3-psutil python3-ptyprocess python3-py python3-pygments python3-pyparsing python3-pytest python3-scipy python3-secretstorage python3-setuptools python3-simplegeneric python3-simplejson python3-six python3-soupsieve python3-statsmodels-lib python3-tables python3-tables-lib python3-testpath python3-tk python3-tornado python3-traitlets python3-tz python3-wcwidth python3-webencodings python3-wheel python3-xdg python3-zmq python3.7 python3.7-dev python3.7-minimal readline-common sensible-utils shared-mime-info tk8.6-blt2.5 ttf-bitstream-vera ucf x11-common xdg-user-dirs xz-utils Suggested packages: binutils-doc blt-demo bzip2-doc cpp-doc gcc-8-locales default-dbus-session-bus | dbus-session-bus dbus-user-session libpam-systemd pinentry-gnome3 tor debian-keyring g++-multilib g++-8-multilib gcc-8-doc libstdc++6-8-dbg gcc-multilib autoconf automake libtool flex bison gdb gcc-doc gcc-8-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan5-dbg liblsan0-dbg libtsan0-dbg libubsan1-dbg libmpx2-dbg libquadmath0-dbg parcimonie xloadimage scdaemon apache2 | lighttpd | httpd glibc-doc git bzr libfftw3-bin libfftw3-dev gdbm-l10n libiodbc2-dev default-libmysqlclient-dev gpm gsl-ref-psdoc | gsl-doc-pdf | gsl-doc-info | gsl-ref-html krb5-doc krb5-user libjs-jquery-ui-docs liblcms2-utils libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql libstdc++-8-doc tcl8.6 tk8.6 make-doc man-browser texlive-latex-recommended texlive-xetex texlive-luatex pandoc-citeproc texlive-latex-extra context wkhtmltopdf librsvg2-bin groff ghc nodejs php python ruby r-base-core libjs-mathjax node-katex ed diffutils-doc perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl libb-debug-perl liblocale-codes-perl pinentry-doc python3-doc python3-venv python-attr-doc python-bleach-doc python-crypto-doc python-cryptography-doc python3-cryptography-vectors python-cvxopt-doc python-cycler-doc python-dbus-doc python3-dbus-dbg python3-genshi python-jinja2-doc python-jsonschema-doc gnome-keyring libkf5wallet-bin gir1.2-gnomekeyring-1.0 python3-lxml-dbg python-lxml-doc dvipng ffmpeg gir1.2-gtk-3.0 ghostscript inkscape ipython3 librsvg2-common python-matplotlib-doc python3-cairocffi python3-gi-cairo python3-gobject python3-nose python3-pyqt4 python3-sip texlive-extra-utils ttf-staypuft python-nbconvert-doc gfortran python-numpy-doc python3-numpy-dbg python-pandas-doc python-patsy-doc python-pexpect-doc python-pil-doc python3-pil-dbg python-psutil-doc subversion python-pygments-doc python-pyparsing-doc python-scipy-doc python-secretstorage-doc python-setuptools-doc python-statsmodels-doc python-tables-doc python3-netcdf4 vitables tix python3-tk-dbg python3-pycurl python-tornado-doc python3-twisted python3.7-venv python3.7-doc binfmt-support readline-doc The following NEW packages will be installed: binutils binutils-common binutils-x86-64-linux-gnu blt build-essential bzip2 ca-certificates cpp cpp-8 dbus dh-python dirmngr dpkg-dev fakeroot file fontconfig-config fonts-lyx g++ g++-8 gcc gcc-8 gir1.2-glib-2.0 gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm javascript-common jupyter-nbconvert krb5-locales libaec0 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libamd2 libapparmor1 libasan5 libassuan0 libatomic1 libbinutils libblas3 libblosc1 libbsd0 libc-dev-bin libc6-dev libcamd2 libcc1-0 libccolamd2 libcholmod3 libcolamd2 libdbus-1-3 libdpkg-perl libdsdp-5.8gf libexpat1 libexpat1-dev libfakeroot libfftw3-double3 libfile-fcntllock-perl libfontconfig1 libfreetype6 libgcc-8-dev libgdbm-compat4 libgdbm6 libgfortran5 libgirepository-1.0-1 libglib2.0-0 libglib2.0-data libglpk40 libgomp1 libgpm2 libgsl23 libgslcblas0 libgssapi-krb5-2 libhdf5-103 libicu63 libimagequant0 libisl19 libitm1 libjbig0 libjpeg62-turbo libjs-jquery libjs-jquery-ui libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libksba8 liblapack3 liblcms2-2 libldap-2.4-2 libldap-common liblocale-gettext-perl liblsan0 libltdl7 liblua5.1-0 liblzo2-2 libmagic-mgc libmagic1 libmetis5 libmpc3 libmpdec2 libmpfr6 libmpx2 libncurses6 libnorm1 libnpth0 libperl5.28 libpgm-5.2-0 libpng16-16 libprocps7 libpython3-dev libpython3-stdlib libpython3.7 libpython3.7-dev libpython3.7-minimal libpython3.7-stdlib libquadmath0 libreadline7 libsasl2-2 libsasl2-modules libsasl2-modules-db libsnappy1v5 libsodium23 libsqlite3-0 libssl1.1 libstdc++-8-dev libsuitesparseconfig5 libsz2 libtcl8.6 libtiff5 libtk8.6 libtsan0 libubsan1 libumfpack5 libwebp6 libwebpdemux2 libwebpmux3 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxft2 libxml2 libxrender1 libxslt1.1 libxss1 libyaml-0-2 libzmq5 linux-libc-dev lsb-base make manpages manpages-dev mime-support netbase openssl pandoc pandoc-data patch perl perl-modules-5.28 pinentry-curses procps psmisc python-matplotlib-data python-pip-whl python-tables-data python3 python3-asn1crypto python3-atomicwrites python3-attr python3-bleach python3-bs4 python3-cffi-backend python3-chardet python3-crypto python3-cryptography python3-cvxopt python3-cycler python3-dateutil python3-dbus python3-decorator python3-defusedxml python3-dev python3-distutils python3-entrypoints python3-gi python3-html5lib python3-ipykernel python3-ipython python3-ipython-genutils python3-jinja2 python3-joblib python3-jsonschema python3-jupyter-client python3-jupyter-core python3-keyring python3-keyrings.alt python3-kiwisolver python3-lib2to3 python3-lxml python3-markupsafe python3-matplotlib python3-minimal python3-mistune python3-more-itertools python3-nbconvert python3-nbformat python3-numexpr python3-numpy python3-olefile python3-pandas python3-pandas-lib python3-pandocfilters python3-patsy python3-pexpect python3-pickleshare python3-pil python3-pip python3-pkg-resources python3-pluggy python3-prompt-toolkit python3-psutil python3-ptyprocess python3-py python3-pygments python3-pyparsing python3-pytest python3-scipy python3-secretstorage python3-setuptools python3-simplegeneric python3-simplejson python3-six python3-soupsieve python3-statsmodels python3-statsmodels-lib python3-tables python3-tables-lib python3-testpath python3-tk python3-tornado python3-traitlets python3-tz python3-wcwidth python3-webencodings python3-wheel python3-xdg python3-zmq python3.7 python3.7-dev python3.7-minimal readline-common sensible-utils shared-mime-info tk8.6-blt2.5 ttf-bitstream-vera ucf x11-common xdg-user-dirs xz-utils 0 upgraded, 267 newly installed, 0 to remove and 0 not upgraded. Need to get 212 MB of archives. After this operation, 779 MB of additional disk space will be used. Get:1 http://cdn-fastly.deb.debian.org/debian stable/main amd64 perl-modules-5.28 all 5.28.1-6 [2873 kB] Get:2 http://security-cdn.debian.org/debian-security stable/updates/main amd64 linux-libc-dev amd64 4.19.37-5+deb10u1 [1185 kB] Get:12 http://security-cdn.debian.org/debian-security stable/updates/main amd64 libzmq5 amd64 4.3.1-4+deb10u1 [246 kB] Get:3 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libgdbm6 amd64 1.18.1-4 [64.7 kB] Get:4 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libgdbm-compat4 amd64 1.18.1-4 [44.1 kB] Get:5 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libperl5.28 amd64 5.28.1-6 [3883 kB] Get:6 http://cdn-fastly.deb.debian.org/debian stable/main amd64 perl amd64 5.28.1-6 [204 kB] Get:7 http://cdn-fastly.deb.debian.org/debian stable/main amd64 liblocale-gettext-perl amd64 1.07-3+b4 [18.9 kB] Get:8 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libssl1.1 amd64 1.1.1c-1 [1535 kB] Get:9 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libpython3.7-minimal amd64 3.7.3-2 [588 kB] Get:10 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libexpat1 amd64 2.2.6-2 [106 kB] Get:11 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3.7-minimal amd64 3.7.3-2 [1736 kB] Get:13 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-minimal amd64 3.7.3-1 [36.6 kB] Get:14 http://cdn-fastly.deb.debian.org/debian stable/main amd64 mime-support all 3.62 [37.2 kB] Get:15 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libmpdec2 amd64 2.4.2-2 [87.2 kB] Get:16 http://cdn-fastly.deb.debian.org/debian stable/main amd64 readline-common all 7.0-5 [70.6 kB] Get:17 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libreadline7 amd64 7.0-5 [151 kB] Get:18 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libsqlite3-0 amd64 3.27.2-3 [641 kB] Get:19 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libpython3.7-stdlib amd64 3.7.3-2 [1732 kB] Get:20 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3.7 amd64 3.7.3-2 [330 kB] Get:21 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libpython3-stdlib amd64 3.7.3-1 [20.0 kB] Get:22 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3 amd64 3.7.3-1 [61.5 kB] Get:23 http://cdn-fastly.deb.debian.org/debian stable/main amd64 netbase all 5.6 [19.4 kB] Get:24 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libncurses6 amd64 6.1+20181013-2 [102 kB] Get:25 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libprocps7 amd64 2:3.3.15-2 [61.7 kB] Get:26 http://cdn-fastly.deb.debian.org/debian stable/main amd64 lsb-base all 10.2019051400 [28.4 kB] Get:27 http://cdn-fastly.deb.debian.org/debian stable/main amd64 procps amd64 2:3.3.15-2 [259 kB] Get:28 http://cdn-fastly.deb.debian.org/debian stable/main amd64 sensible-utils all 0.0.12 [15.8 kB] Get:29 http://cdn-fastly.deb.debian.org/debian stable/main amd64 bzip2 amd64 1.0.6-9.1 [48.3 kB] Get:30 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libapparmor1 amd64 2.13.2-10 [94.7 kB] Get:31 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libdbus-1-3 amd64 1.12.16-1 [214 kB] Get:32 http://cdn-fastly.deb.debian.org/debian stable/main amd64 dbus amd64 1.12.16-1 [235 kB] Get:33 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libmagic-mgc amd64 1:5.35-4 [242 kB] Get:34 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libmagic1 amd64 1:5.35-4 [117 kB] Get:35 http://cdn-fastly.deb.debian.org/debian stable/main amd64 file amd64 1:5.35-4 [66.3 kB] Get:36 http://cdn-fastly.deb.debian.org/debian stable/main amd64 krb5-locales all 1.17-3 [95.4 kB] Get:37 http://cdn-fastly.deb.debian.org/debian stable/main amd64 manpages all 4.16-2 [1295 kB] Get:38 http://cdn-fastly.deb.debian.org/debian stable/main amd64 ucf all 3.0038+nmu1 [69.0 kB] Get:39 http://cdn-fastly.deb.debian.org/debian stable/main amd64 xz-utils amd64 5.2.4-1 [183 kB] Get:40 http://cdn-fastly.deb.debian.org/debian stable/main amd64 binutils-common amd64 2.31.1-16 [2073 kB] Get:41 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libbinutils amd64 2.31.1-16 [478 kB] Get:42 http://cdn-fastly.deb.debian.org/debian stable/main amd64 binutils-x86-64-linux-gnu amd64 2.31.1-16 [1823 kB] Get:43 http://cdn-fastly.deb.debian.org/debian stable/main amd64 binutils amd64 2.31.1-16 [56.8 kB] Get:44 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libtcl8.6 amd64 8.6.9+dfsg-2 [1005 kB] Get:45 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libpng16-16 amd64 1.6.36-6 [292 kB] Get:46 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libfreetype6 amd64 2.9.1-3 [379 kB] Get:47 http://cdn-fastly.deb.debian.org/debian stable/main amd64 ttf-bitstream-vera all 1.10-8 [352 kB] Get:48 http://cdn-fastly.deb.debian.org/debian stable/main amd64 fontconfig-config all 2.13.1-2 [280 kB] Get:49 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libfontconfig1 amd64 2.13.1-2 [346 kB] Get:50 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libxau6 amd64 1:1.0.8-1+b2 [19.9 kB] Get:51 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libbsd0 amd64 0.9.1-2 [99.5 kB] Get:52 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libxdmcp6 amd64 1:1.1.2-3 [26.3 kB] Get:53 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libxcb1 amd64 1.13.1-2 [137 kB] Get:54 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libx11-data all 2:1.6.7-1 [298 kB] Get:55 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libx11-6 amd64 2:1.6.7-1 [754 kB] Get:56 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libxext6 amd64 2:1.3.3-1+b2 [52.5 kB] Get:57 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libxrender1 amd64 1:0.9.10-1 [33.0 kB] Get:58 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libxft2 amd64 2.3.2-2 [57.2 kB] Get:59 http://cdn-fastly.deb.debian.org/debian stable/main amd64 x11-common all 1:7.7+19 [251 kB] Get:60 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libxss1 amd64 1:1.2.3-1 [17.8 kB] Get:61 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libtk8.6 amd64 8.6.9-2 [768 kB] Get:62 http://cdn-fastly.deb.debian.org/debian stable/main amd64 tk8.6-blt2.5 amd64 2.5.3+dfsg-4 [587 kB] Get:63 http://cdn-fastly.deb.debian.org/debian stable/main amd64 blt amd64 2.5.3+dfsg-4 [14.8 kB] Get:64 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libc-dev-bin amd64 2.28-10 [275 kB] Get:65 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libc6-dev amd64 2.28-10 [2691 kB] Get:66 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libisl19 amd64 0.20-2 [587 kB] Get:67 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libmpfr6 amd64 4.0.2-1 [775 kB] Get:68 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libmpc3 amd64 1.1.0-1 [41.3 kB] Get:69 http://cdn-fastly.deb.debian.org/debian stable/main amd64 cpp-8 amd64 8.3.0-6 [8914 kB] Get:70 http://cdn-fastly.deb.debian.org/debian stable/main amd64 cpp amd64 4:8.3.0-1 [19.4 kB] Get:71 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libcc1-0 amd64 8.3.0-6 [46.6 kB] Get:72 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libgomp1 amd64 8.3.0-6 [75.8 kB] Get:73 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libitm1 amd64 8.3.0-6 [27.7 kB] Get:74 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libatomic1 amd64 8.3.0-6 [9032 B] Get:75 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libasan5 amd64 8.3.0-6 [362 kB] Get:76 http://cdn-fastly.deb.debian.org/debian stable/main amd64 liblsan0 amd64 8.3.0-6 [131 kB] Get:77 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libtsan0 amd64 8.3.0-6 [283 kB] Get:78 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libubsan1 amd64 8.3.0-6 [120 kB] Get:79 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libmpx2 amd64 8.3.0-6 [11.4 kB] Get:80 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libquadmath0 amd64 8.3.0-6 [133 kB] Get:81 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libgcc-8-dev amd64 8.3.0-6 [2298 kB] Get:82 http://cdn-fastly.deb.debian.org/debian stable/main amd64 gcc-8 amd64 8.3.0-6 [9452 kB] Get:83 http://cdn-fastly.deb.debian.org/debian stable/main amd64 gcc amd64 4:8.3.0-1 [5196 B] Get:84 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libstdc++-8-dev amd64 8.3.0-6 [1532 kB] Get:85 http://cdn-fastly.deb.debian.org/debian stable/main amd64 g++-8 amd64 8.3.0-6 [9752 kB] Get:86 http://cdn-fastly.deb.debian.org/debian stable/main amd64 g++ amd64 4:8.3.0-1 [1644 B] Get:87 http://cdn-fastly.deb.debian.org/debian stable/main amd64 make amd64 4.2.1-1.2 [341 kB] Get:88 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libdpkg-perl all 1.19.7 [1414 kB] Get:89 http://cdn-fastly.deb.debian.org/debian stable/main amd64 patch amd64 2.7.6-3 [126 kB] Get:90 http://cdn-fastly.deb.debian.org/debian stable/main amd64 dpkg-dev all 1.19.7 [1773 kB] Get:91 http://cdn-fastly.deb.debian.org/debian stable/main amd64 build-essential amd64 12.6 [7576 B] Get:92 http://cdn-fastly.deb.debian.org/debian stable/main amd64 openssl amd64 1.1.1c-1 [842 kB] Get:93 http://cdn-fastly.deb.debian.org/debian stable/main amd64 ca-certificates all 20190110 [157 kB] Get:94 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-lib2to3 all 3.7.3-1 [76.7 kB] Get:95 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-distutils all 3.7.3-1 [142 kB] Get:96 http://cdn-fastly.deb.debian.org/debian stable/main amd64 dh-python all 3.20190308 [99.3 kB] Get:97 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libassuan0 amd64 2.5.2-1 [49.4 kB] Get:98 http://cdn-fastly.deb.debian.org/debian stable/main amd64 gpgconf amd64 2.2.12-1 [509 kB] Get:99 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libksba8 amd64 1.3.5-2 [99.7 kB] Get:100 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libsasl2-modules-db amd64 2.1.27+dfsg-1 [69.0 kB] Get:101 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libsasl2-2 amd64 2.1.27+dfsg-1 [106 kB] Get:102 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libldap-common all 2.4.47+dfsg-3 [89.4 kB] Get:103 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libldap-2.4-2 amd64 2.4.47+dfsg-3 [224 kB] Get:104 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libnpth0 amd64 1.6-1 [18.4 kB] Get:105 http://cdn-fastly.deb.debian.org/debian stable/main amd64 dirmngr amd64 2.2.12-1 [711 kB] Get:106 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libfakeroot amd64 1.23-1 [45.9 kB] Get:107 http://cdn-fastly.deb.debian.org/debian stable/main amd64 fakeroot amd64 1.23-1 [85.8 kB] Get:108 http://cdn-fastly.deb.debian.org/debian stable/main amd64 fonts-lyx all 2.3.2-1 [199 kB] Get:109 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libglib2.0-0 amd64 2.58.3-2 [1259 kB] Get:110 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libgirepository-1.0-1 amd64 1.58.3-2 [92.8 kB] Get:111 http://cdn-fastly.deb.debian.org/debian stable/main amd64 gir1.2-glib-2.0 amd64 1.58.3-2 [143 kB] Get:112 http://cdn-fastly.deb.debian.org/debian stable/main amd64 gnupg-l10n all 2.2.12-1 [1008 kB] Get:113 http://cdn-fastly.deb.debian.org/debian stable/main amd64 gnupg-utils amd64 2.2.12-1 [857 kB] Get:114 http://cdn-fastly.deb.debian.org/debian stable/main amd64 gpg amd64 2.2.12-1 [862 kB] Get:115 http://cdn-fastly.deb.debian.org/debian stable/main amd64 pinentry-curses amd64 1.1.0-2 [64.5 kB] Get:116 http://cdn-fastly.deb.debian.org/debian stable/main amd64 gpg-agent amd64 2.2.12-1 [617 kB] Get:117 http://cdn-fastly.deb.debian.org/debian stable/main amd64 gpg-wks-client amd64 2.2.12-1 [484 kB] Get:118 http://cdn-fastly.deb.debian.org/debian stable/main amd64 gpg-wks-server amd64 2.2.12-1 [477 kB] Get:119 http://cdn-fastly.deb.debian.org/debian stable/main amd64 gpgsm amd64 2.2.12-1 [602 kB] Get:120 http://cdn-fastly.deb.debian.org/debian stable/main amd64 gnupg all 2.2.12-1 [715 kB] Get:121 http://cdn-fastly.deb.debian.org/debian stable/main amd64 javascript-common all 11 [6120 B] Get:122 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-entrypoints all 0.3-1 [5508 B] Get:123 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-decorator all 4.3.0-1.1 [14.5 kB] Get:124 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-ptyprocess all 0.6.0-1 [13.2 kB] Get:125 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-pexpect all 4.6.0-1 [52.4 kB] Get:126 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-pickleshare all 0.7.5-1 [7348 B] Get:127 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-pkg-resources all 40.8.0-1 [153 kB] Get:128 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-six all 1.12.0-1 [15.7 kB] Get:129 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-wcwidth all 0.1.7+dfsg1-3 [15.0 kB] Get:130 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-prompt-toolkit all 1.0.15-1 [179 kB] Get:131 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-pygments all 2.3.1+dfsg-1 [594 kB] Get:132 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-simplegeneric all 0.8.1-2 [11.1 kB] Get:133 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-ipython-genutils all 0.2.0-1 [20.9 kB] Get:134 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-traitlets all 4.3.2-1 [60.7 kB] Get:135 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-ipython all 5.8.0-1 [390 kB] Get:136 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-dateutil all 2.7.3-3 [64.5 kB] Get:137 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-jupyter-core all 4.4.0-2 [38.5 kB] Get:138 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-tornado amd64 5.1.1-4 [354 kB] Get:139 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libkeyutils1 amd64 1.6-6 [15.0 kB] Get:140 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libkrb5support0 amd64 1.17-3 [65.6 kB] Get:141 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libk5crypto3 amd64 1.17-3 [121 kB] Get:142 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libkrb5-3 amd64 1.17-3 [370 kB] Get:143 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libgssapi-krb5-2 amd64 1.17-3 [158 kB] Get:144 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libnorm1 amd64 1.5.8+dfsg2-1 [287 kB] Get:145 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libpgm-5.2-0 amd64 5.2.122~dfsg-3 [158 kB] Get:146 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libsodium23 amd64 1.0.17-1 [158 kB] Get:147 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-zmq amd64 17.1.2-2 [268 kB] Get:148 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-jupyter-client all 5.2.3-1 [63.7 kB] Get:149 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-testpath all 0.4.2+dfsg-1 [8796 B] Get:150 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-webencodings all 0.5.1-1 [10.9 kB] Get:151 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-html5lib all 1.0.1-1 [89.5 kB] Get:152 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-bleach all 3.1.0-1 [113 kB] Get:153 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-defusedxml all 0.5.0-2 [20.1 kB] Get:154 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-markupsafe amd64 1.1.0-1 [14.8 kB] Get:155 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-jinja2 all 2.10-2 [106 kB] Get:156 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-mistune all 0.8.4-1 [16.1 kB] Get:157 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-jsonschema all 2.6.0-4 [33.5 kB] Get:158 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-nbformat all 4.4.0-1 [30.1 kB] Get:159 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-pandocfilters all 1.4.2-1 [18.7 kB] Get:160 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-nbconvert all 5.4-2 [103 kB] Get:161 http://cdn-fastly.deb.debian.org/debian stable/main amd64 jupyter-nbconvert all 5.4-2 [12.6 kB] Get:162 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libaec0 amd64 1.0.2-1 [20.1 kB] Get:163 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libalgorithm-diff-perl all 1.19.03-2 [47.9 kB] Get:164 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libalgorithm-diff-xs-perl amd64 0.04-5+b1 [11.8 kB] Get:165 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libalgorithm-merge-perl all 0.08-3 [12.7 kB] Get:166 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libsuitesparseconfig5 amd64 1:5.4.0+dfsg-1 [20.9 kB] Get:167 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libamd2 amd64 1:5.4.0+dfsg-1 [33.4 kB] Get:168 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libgfortran5 amd64 8.3.0-6 [581 kB] Get:169 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libblas3 amd64 3.8.0-2 [148 kB] Get:170 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libsnappy1v5 amd64 1.1.7-1 [17.0 kB] Get:171 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libblosc1 amd64 1.15.1+ds1-1 [44.9 kB] Get:172 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libcamd2 amd64 1:5.4.0+dfsg-1 [35.0 kB] Get:173 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libccolamd2 amd64 1:5.4.0+dfsg-1 [36.4 kB] Get:174 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libcolamd2 amd64 1:5.4.0+dfsg-1 [30.3 kB] Get:175 http://cdn-fastly.deb.debian.org/debian stable/main amd64 liblapack3 amd64 3.8.0-2 [2110 kB] Get:176 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libmetis5 amd64 5.1.0.dfsg-5+b2 [175 kB] Get:177 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libcholmod3 amd64 1:5.4.0+dfsg-1 [324 kB] Get:178 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libdsdp-5.8gf amd64 5.8-9.4 [189 kB] Get:179 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libexpat1-dev amd64 2.2.6-2 [152 kB] Get:180 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libfftw3-double3 amd64 3.3.8-2 [733 kB] Get:181 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libfile-fcntllock-perl amd64 0.22-3+b5 [35.4 kB] Get:182 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libglib2.0-data all 2.58.3-2 [1109 kB] Get:183 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libltdl7 amd64 2.4.6-9 [390 kB] Get:184 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libglpk40 amd64 4.65-2 [418 kB] Get:185 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libgpm2 amd64 1.20.7-5 [35.1 kB] Get:186 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libgslcblas0 amd64 2.5+dfsg-6 [101 kB] Get:187 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libgsl23 amd64 2.5+dfsg-6 [880 kB] Get:188 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libsz2 amd64 1.0.2-1 [6676 B] Get:189 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libhdf5-103 amd64 1.10.4+repack-10 [1325 kB] Get:190 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libicu63 amd64 63.1-6 [8292 kB] Get:191 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libimagequant0 amd64 2.12.2-1.1 [32.5 kB] Get:192 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libjbig0 amd64 2.1-3.1+b2 [31.0 kB] Get:193 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libjpeg62-turbo amd64 1:1.5.2-2+b1 [134 kB] Get:194 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libjs-jquery all 3.3.1~dfsg-3 [332 kB] Get:195 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libjs-jquery-ui all 1.12.1+dfsg-5 [232 kB] Get:196 http://cdn-fastly.deb.debian.org/debian stable/main amd64 liblcms2-2 amd64 2.9-3 [145 kB] Get:197 http://cdn-fastly.deb.debian.org/debian stable/main amd64 liblua5.1-0 amd64 5.1.5-8.1+b2 [111 kB] Get:198 http://cdn-fastly.deb.debian.org/debian stable/main amd64 liblzo2-2 amd64 2.10-0.1 [56.1 kB] Get:199 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libpython3.7 amd64 3.7.3-2 [1498 kB] Get:200 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libpython3.7-dev amd64 3.7.3-2 [48.4 MB] Get:201 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libpython3-dev amd64 3.7.3-1 [20.1 kB] Get:202 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libsasl2-modules amd64 2.1.27+dfsg-1 [104 kB] Get:203 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libwebp6 amd64 0.6.1-2 [263 kB] Get:204 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libtiff5 amd64 4.0.10-4 [257 kB] Get:205 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libumfpack5 amd64 1:5.4.0+dfsg-1 [243 kB] Get:206 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libwebpdemux2 amd64 0.6.1-2 [87.5 kB] Get:207 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libwebpmux3 amd64 0.6.1-2 [97.7 kB] Get:208 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libxml2 amd64 2.9.4+dfsg1-7+b3 [687 kB] Get:209 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libxslt1.1 amd64 1.1.32-2 [236 kB] Get:210 http://cdn-fastly.deb.debian.org/debian stable/main amd64 libyaml-0-2 amd64 0.2.1-1 [47.2 kB] Get:211 http://cdn-fastly.deb.debian.org/debian stable/main amd64 manpages-dev all 4.16-2 [2232 kB] Get:212 http://cdn-fastly.deb.debian.org/debian stable/main amd64 pandoc-data all 2.2.1-3 [329 kB] Get:213 http://cdn-fastly.deb.debian.org/debian stable/main amd64 pandoc amd64 2.2.1-3+b2 [14.7 MB] Get:214 http://cdn-fastly.deb.debian.org/debian stable/main amd64 psmisc amd64 23.2-1 [126 kB] Get:215 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python-matplotlib-data all 3.0.2-2 [4138 kB] Get:216 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python-pip-whl all 18.1-5 [1591 kB] Get:217 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python-tables-data all 3.4.4-2 [53.1 kB] Get:218 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-asn1crypto all 0.24.0-1 [78.2 kB] Get:219 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-atomicwrites all 1.1.5-2 [6892 B] Get:220 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-attr all 18.2.0-1 [37.3 kB] Get:221 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-soupsieve all 1.8+dfsg-1 [27.6 kB] Get:222 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-bs4 all 4.7.1-1 [94.1 kB] Get:223 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-cffi-backend amd64 1.12.2-1 [79.7 kB] Get:224 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-chardet all 3.0.4-3 [80.5 kB] Get:225 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-crypto amd64 2.6.1-9+b1 [263 kB] Get:226 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-cryptography amd64 2.6.1-3 [218 kB] Get:227 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-cvxopt amd64 1.1.9+dfsg-3+b1 [269 kB] Get:228 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-cycler all 0.10.0-1 [7556 B] Get:229 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-dbus amd64 1.2.8-3 [103 kB] Get:230 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3.7-dev amd64 3.7.3-2 [509 kB] Get:231 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-dev amd64 3.7.3-1 [1264 B] Get:232 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-gi amd64 3.30.4-1 [180 kB] Get:233 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-ipykernel all 4.9.0-1 [75.7 kB] Get:234 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-joblib all 0.13.0-2 [187 kB] Get:235 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-secretstorage all 2.3.1-2 [14.2 kB] Get:236 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-keyring all 17.1.1-1 [43.1 kB] Get:237 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-keyrings.alt all 3.1.1-1 [18.2 kB] Get:238 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-kiwisolver amd64 1.0.1-2+b1 [65.4 kB] Get:239 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-lxml amd64 4.3.2-1 [1161 kB] Get:240 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-pyparsing all 2.2.0+dfsg1-2 [89.6 kB] Get:241 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-numpy amd64 1:1.16.2-1 [2119 kB] Get:242 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-matplotlib amd64 3.0.2-2 [5353 kB] Get:243 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-more-itertools all 4.2.0-1 [42.2 kB] Get:244 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-numexpr amd64 2.6.9-1 [140 kB] Get:245 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-olefile all 0.46-1 [35.9 kB] Get:246 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-tz all 2019.1-1 [27.1 kB] Get:247 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-pandas-lib amd64 0.23.3+dfsg-3 [3475 kB] Get:248 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-pandas all 0.23.3+dfsg-3 [1750 kB] Get:249 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-patsy all 0.5.0+git13-g54dcf7b-1 [172 kB] Get:250 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-pil amd64 5.4.1-2 [395 kB] Get:251 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-pip all 18.1-5 [171 kB] Get:252 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-pluggy all 0.8.0-1 [20.6 kB] Get:253 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-psutil amd64 5.5.1-1 [166 kB] Get:254 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-py all 1.7.0-2 [86.6 kB] Get:255 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-pytest all 3.10.1-2 [243 kB] Get:256 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-scipy amd64 1.1.0-7 [10.0 MB] Get:257 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-setuptools all 40.8.0-1 [306 kB] Get:258 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-simplejson amd64 3.16.0-1 [60.7 kB] Get:259 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-statsmodels-lib amd64 0.8.0-9 [365 kB] Get:260 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-statsmodels all 0.8.0-9 [3004 kB] Get:261 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-tables-lib amd64 3.4.4-2 [438 kB] Get:262 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-tables all 3.4.4-2 [342 kB] Get:263 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-tk amd64 3.7.3-1 [97.4 kB] Get:264 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-wheel all 0.32.3-2 [19.4 kB] Get:265 http://cdn-fastly.deb.debian.org/debian stable/main amd64 python3-xdg all 0.25-5 [35.9 kB] Get:266 http://cdn-fastly.deb.debian.org/debian stable/main amd64 shared-mime-info amd64 1.10-1 [766 kB] Get:267 http://cdn-fastly.deb.debian.org/debian stable/main amd64 xdg-user-dirs amd64 0.17-2 [53.8 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 212 MB in 2min 56s (1204 kB/s) Selecting previously unselected package perl-modules-5.28. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 6674 files and directories currently installed.) Preparing to unpack .../0-perl-modules-5.28_5.28.1-6_all.deb ... Unpacking perl-modules-5.28 (5.28.1-6) ... Selecting previously unselected package libgdbm6:amd64. Preparing to unpack .../1-libgdbm6_1.18.1-4_amd64.deb ... Unpacking libgdbm6:amd64 (1.18.1-4) ... Selecting previously unselected package libgdbm-compat4:amd64. Preparing to unpack .../2-libgdbm-compat4_1.18.1-4_amd64.deb ... Unpacking libgdbm-compat4:amd64 (1.18.1-4) ... Selecting previously unselected package libperl5.28:amd64. Preparing to unpack .../3-libperl5.28_5.28.1-6_amd64.deb ... Unpacking libperl5.28:amd64 (5.28.1-6) ... Selecting previously unselected package perl. Preparing to unpack .../4-perl_5.28.1-6_amd64.deb ... Unpacking perl (5.28.1-6) ... Selecting previously unselected package liblocale-gettext-perl. Preparing to unpack .../5-liblocale-gettext-perl_1.07-3+b4_amd64.deb ... Unpacking liblocale-gettext-perl (1.07-3+b4) ... Selecting previously unselected package libssl1.1:amd64. Preparing to unpack .../6-libssl1.1_1.1.1c-1_amd64.deb ... Unpacking libssl1.1:amd64 (1.1.1c-1) ... Selecting previously unselected package libpython3.7-minimal:amd64. Preparing to unpack .../7-libpython3.7-minimal_3.7.3-2_amd64.deb ... Unpacking libpython3.7-minimal:amd64 (3.7.3-2) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../8-libexpat1_2.2.6-2_amd64.deb ... Unpacking libexpat1:amd64 (2.2.6-2) ... Selecting previously unselected package python3.7-minimal. Preparing to unpack .../9-python3.7-minimal_3.7.3-2_amd64.deb ... Unpacking python3.7-minimal (3.7.3-2) ... Setting up libssl1.1:amd64 (1.1.1c-1) ... debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline Setting up libpython3.7-minimal:amd64 (3.7.3-2) ... Setting up libexpat1:amd64 (2.2.6-2) ... Setting up python3.7-minimal (3.7.3-2) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 8896 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.7.3-1_amd64.deb ... Unpacking python3-minimal (3.7.3-1) ... Selecting previously unselected package mime-support. Preparing to unpack .../1-mime-support_3.62_all.deb ... Unpacking mime-support (3.62) ... Selecting previously unselected package libmpdec2:amd64. Preparing to unpack .../2-libmpdec2_2.4.2-2_amd64.deb ... Unpacking libmpdec2:amd64 (2.4.2-2) ... Selecting previously unselected package readline-common. Preparing to unpack .../3-readline-common_7.0-5_all.deb ... Unpacking readline-common (7.0-5) ... Selecting previously unselected package libreadline7:amd64. Preparing to unpack .../4-libreadline7_7.0-5_amd64.deb ... Unpacking libreadline7:amd64 (7.0-5) ... Selecting previously unselected package libsqlite3-0:amd64. Preparing to unpack .../5-libsqlite3-0_3.27.2-3_amd64.deb ... Unpacking libsqlite3-0:amd64 (3.27.2-3) ... Selecting previously unselected package libpython3.7-stdlib:amd64. Preparing to unpack .../6-libpython3.7-stdlib_3.7.3-2_amd64.deb ... Unpacking libpython3.7-stdlib:amd64 (3.7.3-2) ... Selecting previously unselected package python3.7. Preparing to unpack .../7-python3.7_3.7.3-2_amd64.deb ... Unpacking python3.7 (3.7.3-2) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../8-libpython3-stdlib_3.7.3-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.7.3-1) ... Setting up python3-minimal (3.7.3-1) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 9365 files and directories currently installed.) Preparing to unpack .../000-python3_3.7.3-1_amd64.deb ... Unpacking python3 (3.7.3-1) ... Selecting previously unselected package netbase. Preparing to unpack .../001-netbase_5.6_all.deb ... Unpacking netbase (5.6) ... Selecting previously unselected package libncurses6:amd64. Preparing to unpack .../002-libncurses6_6.1+20181013-2_amd64.deb ... Unpacking libncurses6:amd64 (6.1+20181013-2) ... Selecting previously unselected package libprocps7:amd64. Preparing to unpack .../003-libprocps7_2%3a3.3.15-2_amd64.deb ... Unpacking libprocps7:amd64 (2:3.3.15-2) ... Selecting previously unselected package lsb-base. Preparing to unpack .../004-lsb-base_10.2019051400_all.deb ... Unpacking lsb-base (10.2019051400) ... Selecting previously unselected package procps. Preparing to unpack .../005-procps_2%3a3.3.15-2_amd64.deb ... Unpacking procps (2:3.3.15-2) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../006-sensible-utils_0.0.12_all.deb ... Unpacking sensible-utils (0.0.12) ... Selecting previously unselected package bzip2. Preparing to unpack .../007-bzip2_1.0.6-9.1_amd64.deb ... Unpacking bzip2 (1.0.6-9.1) ... Selecting previously unselected package libapparmor1:amd64. Preparing to unpack .../008-libapparmor1_2.13.2-10_amd64.deb ... Unpacking libapparmor1:amd64 (2.13.2-10) ... Selecting previously unselected package libdbus-1-3:amd64. Preparing to unpack .../009-libdbus-1-3_1.12.16-1_amd64.deb ... Unpacking libdbus-1-3:amd64 (1.12.16-1) ... Selecting previously unselected package dbus. Preparing to unpack .../010-dbus_1.12.16-1_amd64.deb ... Unpacking dbus (1.12.16-1) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../011-libmagic-mgc_1%3a5.35-4_amd64.deb ... Unpacking libmagic-mgc (1:5.35-4) ... Selecting previously unselected package libmagic1:amd64. Preparing to unpack .../012-libmagic1_1%3a5.35-4_amd64.deb ... Unpacking libmagic1:amd64 (1:5.35-4) ... Selecting previously unselected package file. Preparing to unpack .../013-file_1%3a5.35-4_amd64.deb ... Unpacking file (1:5.35-4) ... Selecting previously unselected package krb5-locales. Preparing to unpack .../014-krb5-locales_1.17-3_all.deb ... Unpacking krb5-locales (1.17-3) ... Selecting previously unselected package manpages. Preparing to unpack .../015-manpages_4.16-2_all.deb ... Unpacking manpages (4.16-2) ... Selecting previously unselected package ucf. Preparing to unpack .../016-ucf_3.0038+nmu1_all.deb ... Moving old data out of the way Unpacking ucf (3.0038+nmu1) ... Selecting previously unselected package xz-utils. Preparing to unpack .../017-xz-utils_5.2.4-1_amd64.deb ... Unpacking xz-utils (5.2.4-1) ... Selecting previously unselected package binutils-common:amd64. Preparing to unpack .../018-binutils-common_2.31.1-16_amd64.deb ... Unpacking binutils-common:amd64 (2.31.1-16) ... Selecting previously unselected package libbinutils:amd64. Preparing to unpack .../019-libbinutils_2.31.1-16_amd64.deb ... Unpacking libbinutils:amd64 (2.31.1-16) ... Selecting previously unselected package binutils-x86-64-linux-gnu. Preparing to unpack .../020-binutils-x86-64-linux-gnu_2.31.1-16_amd64.deb ... Unpacking binutils-x86-64-linux-gnu (2.31.1-16) ... Selecting previously unselected package binutils. Preparing to unpack .../021-binutils_2.31.1-16_amd64.deb ... Unpacking binutils (2.31.1-16) ... Selecting previously unselected package libtcl8.6:amd64. Preparing to unpack .../022-libtcl8.6_8.6.9+dfsg-2_amd64.deb ... Unpacking libtcl8.6:amd64 (8.6.9+dfsg-2) ... Selecting previously unselected package libpng16-16:amd64. Preparing to unpack .../023-libpng16-16_1.6.36-6_amd64.deb ... Unpacking libpng16-16:amd64 (1.6.36-6) ... Selecting previously unselected package libfreetype6:amd64. Preparing to unpack .../024-libfreetype6_2.9.1-3_amd64.deb ... Unpacking libfreetype6:amd64 (2.9.1-3) ... Selecting previously unselected package ttf-bitstream-vera. Preparing to unpack .../025-ttf-bitstream-vera_1.10-8_all.deb ... Unpacking ttf-bitstream-vera (1.10-8) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../026-fontconfig-config_2.13.1-2_all.deb ... Unpacking fontconfig-config (2.13.1-2) ... Selecting previously unselected package libfontconfig1:amd64. Preparing to unpack .../027-libfontconfig1_2.13.1-2_amd64.deb ... Unpacking libfontconfig1:amd64 (2.13.1-2) ... Selecting previously unselected package libxau6:amd64. Preparing to unpack .../028-libxau6_1%3a1.0.8-1+b2_amd64.deb ... Unpacking libxau6:amd64 (1:1.0.8-1+b2) ... Selecting previously unselected package libbsd0:amd64. Preparing to unpack .../029-libbsd0_0.9.1-2_amd64.deb ... Unpacking libbsd0:amd64 (0.9.1-2) ... Selecting previously unselected package libxdmcp6:amd64. Preparing to unpack .../030-libxdmcp6_1%3a1.1.2-3_amd64.deb ... Unpacking libxdmcp6:amd64 (1:1.1.2-3) ... Selecting previously unselected package libxcb1:amd64. Preparing to unpack .../031-libxcb1_1.13.1-2_amd64.deb ... Unpacking libxcb1:amd64 (1.13.1-2) ... Selecting previously unselected package libx11-data. Preparing to unpack .../032-libx11-data_2%3a1.6.7-1_all.deb ... Unpacking libx11-data (2:1.6.7-1) ... Selecting previously unselected package libx11-6:amd64. Preparing to unpack .../033-libx11-6_2%3a1.6.7-1_amd64.deb ... Unpacking libx11-6:amd64 (2:1.6.7-1) ... Selecting previously unselected package libxext6:amd64. Preparing to unpack .../034-libxext6_2%3a1.3.3-1+b2_amd64.deb ... Unpacking libxext6:amd64 (2:1.3.3-1+b2) ... Selecting previously unselected package libxrender1:amd64. Preparing to unpack .../035-libxrender1_1%3a0.9.10-1_amd64.deb ... Unpacking libxrender1:amd64 (1:0.9.10-1) ... Selecting previously unselected package libxft2:amd64. Preparing to unpack .../036-libxft2_2.3.2-2_amd64.deb ... Unpacking libxft2:amd64 (2.3.2-2) ... Selecting previously unselected package x11-common. Preparing to unpack .../037-x11-common_1%3a7.7+19_all.deb ... Unpacking x11-common (1:7.7+19) ... Selecting previously unselected package libxss1:amd64. Preparing to unpack .../038-libxss1_1%3a1.2.3-1_amd64.deb ... Unpacking libxss1:amd64 (1:1.2.3-1) ... Selecting previously unselected package libtk8.6:amd64. Preparing to unpack .../039-libtk8.6_8.6.9-2_amd64.deb ... Unpacking libtk8.6:amd64 (8.6.9-2) ... Selecting previously unselected package tk8.6-blt2.5. Preparing to unpack .../040-tk8.6-blt2.5_2.5.3+dfsg-4_amd64.deb ... Unpacking tk8.6-blt2.5 (2.5.3+dfsg-4) ... Selecting previously unselected package blt. Preparing to unpack .../041-blt_2.5.3+dfsg-4_amd64.deb ... Unpacking blt (2.5.3+dfsg-4) ... Selecting previously unselected package libc-dev-bin. Preparing to unpack .../042-libc-dev-bin_2.28-10_amd64.deb ... Unpacking libc-dev-bin (2.28-10) ... Selecting previously unselected package linux-libc-dev:amd64. Preparing to unpack .../043-linux-libc-dev_4.19.37-5+deb10u1_amd64.deb ... Unpacking linux-libc-dev:amd64 (4.19.37-5+deb10u1) ... Selecting previously unselected package libc6-dev:amd64. Preparing to unpack .../044-libc6-dev_2.28-10_amd64.deb ... Unpacking libc6-dev:amd64 (2.28-10) ... Selecting previously unselected package libisl19:amd64. Preparing to unpack .../045-libisl19_0.20-2_amd64.deb ... Unpacking libisl19:amd64 (0.20-2) ... Selecting previously unselected package libmpfr6:amd64. Preparing to unpack .../046-libmpfr6_4.0.2-1_amd64.deb ... Unpacking libmpfr6:amd64 (4.0.2-1) ... Selecting previously unselected package libmpc3:amd64. Preparing to unpack .../047-libmpc3_1.1.0-1_amd64.deb ... Unpacking libmpc3:amd64 (1.1.0-1) ... Selecting previously unselected package cpp-8. Preparing to unpack .../048-cpp-8_8.3.0-6_amd64.deb ... Unpacking cpp-8 (8.3.0-6) ... Selecting previously unselected package cpp. Preparing to unpack .../049-cpp_4%3a8.3.0-1_amd64.deb ... Unpacking cpp (4:8.3.0-1) ... Selecting previously unselected package libcc1-0:amd64. Preparing to unpack .../050-libcc1-0_8.3.0-6_amd64.deb ... Unpacking libcc1-0:amd64 (8.3.0-6) ... Selecting previously unselected package libgomp1:amd64. Preparing to unpack .../051-libgomp1_8.3.0-6_amd64.deb ... Unpacking libgomp1:amd64 (8.3.0-6) ... Selecting previously unselected package libitm1:amd64. Preparing to unpack .../052-libitm1_8.3.0-6_amd64.deb ... Unpacking libitm1:amd64 (8.3.0-6) ... Selecting previously unselected package libatomic1:amd64. Preparing to unpack .../053-libatomic1_8.3.0-6_amd64.deb ... Unpacking libatomic1:amd64 (8.3.0-6) ... Selecting previously unselected package libasan5:amd64. Preparing to unpack .../054-libasan5_8.3.0-6_amd64.deb ... Unpacking libasan5:amd64 (8.3.0-6) ... Selecting previously unselected package liblsan0:amd64. Preparing to unpack .../055-liblsan0_8.3.0-6_amd64.deb ... Unpacking liblsan0:amd64 (8.3.0-6) ... Selecting previously unselected package libtsan0:amd64. Preparing to unpack .../056-libtsan0_8.3.0-6_amd64.deb ... Unpacking libtsan0:amd64 (8.3.0-6) ... Selecting previously unselected package libubsan1:amd64. Preparing to unpack .../057-libubsan1_8.3.0-6_amd64.deb ... Unpacking libubsan1:amd64 (8.3.0-6) ... Selecting previously unselected package libmpx2:amd64. Preparing to unpack .../058-libmpx2_8.3.0-6_amd64.deb ... Unpacking libmpx2:amd64 (8.3.0-6) ... Selecting previously unselected package libquadmath0:amd64. Preparing to unpack .../059-libquadmath0_8.3.0-6_amd64.deb ... Unpacking libquadmath0:amd64 (8.3.0-6) ... Selecting previously unselected package libgcc-8-dev:amd64. Preparing to unpack .../060-libgcc-8-dev_8.3.0-6_amd64.deb ... Unpacking libgcc-8-dev:amd64 (8.3.0-6) ... Selecting previously unselected package gcc-8. Preparing to unpack .../061-gcc-8_8.3.0-6_amd64.deb ... Unpacking gcc-8 (8.3.0-6) ... Selecting previously unselected package gcc. Preparing to unpack .../062-gcc_4%3a8.3.0-1_amd64.deb ... Unpacking gcc (4:8.3.0-1) ... Selecting previously unselected package libstdc++-8-dev:amd64. Preparing to unpack .../063-libstdc++-8-dev_8.3.0-6_amd64.deb ... Unpacking libstdc++-8-dev:amd64 (8.3.0-6) ... Selecting previously unselected package g++-8. Preparing to unpack .../064-g++-8_8.3.0-6_amd64.deb ... Unpacking g++-8 (8.3.0-6) ... Selecting previously unselected package g++. Preparing to unpack .../065-g++_4%3a8.3.0-1_amd64.deb ... Unpacking g++ (4:8.3.0-1) ... Selecting previously unselected package make. Preparing to unpack .../066-make_4.2.1-1.2_amd64.deb ... Unpacking make (4.2.1-1.2) ... Selecting previously unselected package libdpkg-perl. Preparing to unpack .../067-libdpkg-perl_1.19.7_all.deb ... Unpacking libdpkg-perl (1.19.7) ... Selecting previously unselected package patch. Preparing to unpack .../068-patch_2.7.6-3_amd64.deb ... Unpacking patch (2.7.6-3) ... Selecting previously unselected package dpkg-dev. Preparing to unpack .../069-dpkg-dev_1.19.7_all.deb ... Unpacking dpkg-dev (1.19.7) ... Selecting previously unselected package build-essential. Preparing to unpack .../070-build-essential_12.6_amd64.deb ... Unpacking build-essential (12.6) ... Selecting previously unselected package openssl. Preparing to unpack .../071-openssl_1.1.1c-1_amd64.deb ... Unpacking openssl (1.1.1c-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../072-ca-certificates_20190110_all.deb ... Unpacking ca-certificates (20190110) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../073-python3-lib2to3_3.7.3-1_all.deb ... Unpacking python3-lib2to3 (3.7.3-1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../074-python3-distutils_3.7.3-1_all.deb ... Unpacking python3-distutils (3.7.3-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../075-dh-python_3.20190308_all.deb ... Unpacking dh-python (3.20190308) ... Selecting previously unselected package libassuan0:amd64. Preparing to unpack .../076-libassuan0_2.5.2-1_amd64.deb ... Unpacking libassuan0:amd64 (2.5.2-1) ... Selecting previously unselected package gpgconf. Preparing to unpack .../077-gpgconf_2.2.12-1_amd64.deb ... Unpacking gpgconf (2.2.12-1) ... Selecting previously unselected package libksba8:amd64. Preparing to unpack .../078-libksba8_1.3.5-2_amd64.deb ... Unpacking libksba8:amd64 (1.3.5-2) ... Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack .../079-libsasl2-modules-db_2.1.27+dfsg-1_amd64.deb ... Unpacking libsasl2-modules-db:amd64 (2.1.27+dfsg-1) ... Selecting previously unselected package libsasl2-2:amd64. Preparing to unpack .../080-libsasl2-2_2.1.27+dfsg-1_amd64.deb ... Unpacking libsasl2-2:amd64 (2.1.27+dfsg-1) ... Selecting previously unselected package libldap-common. Preparing to unpack .../081-libldap-common_2.4.47+dfsg-3_all.deb ... Unpacking libldap-common (2.4.47+dfsg-3) ... Selecting previously unselected package libldap-2.4-2:amd64. Preparing to unpack .../082-libldap-2.4-2_2.4.47+dfsg-3_amd64.deb ... Unpacking libldap-2.4-2:amd64 (2.4.47+dfsg-3) ... Selecting previously unselected package libnpth0:amd64. Preparing to unpack .../083-libnpth0_1.6-1_amd64.deb ... Unpacking libnpth0:amd64 (1.6-1) ... Selecting previously unselected package dirmngr. Preparing to unpack .../084-dirmngr_2.2.12-1_amd64.deb ... Unpacking dirmngr (2.2.12-1) ... Selecting previously unselected package libfakeroot:amd64. Preparing to unpack .../085-libfakeroot_1.23-1_amd64.deb ... Unpacking libfakeroot:amd64 (1.23-1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../086-fakeroot_1.23-1_amd64.deb ... Unpacking fakeroot (1.23-1) ... Selecting previously unselected package fonts-lyx. Preparing to unpack .../087-fonts-lyx_2.3.2-1_all.deb ... Unpacking fonts-lyx (2.3.2-1) ... Selecting previously unselected package libglib2.0-0:amd64. Preparing to unpack .../088-libglib2.0-0_2.58.3-2_amd64.deb ... Unpacking libglib2.0-0:amd64 (2.58.3-2) ... Selecting previously unselected package libgirepository-1.0-1:amd64. Preparing to unpack .../089-libgirepository-1.0-1_1.58.3-2_amd64.deb ... Unpacking libgirepository-1.0-1:amd64 (1.58.3-2) ... Selecting previously unselected package gir1.2-glib-2.0:amd64. Preparing to unpack .../090-gir1.2-glib-2.0_1.58.3-2_amd64.deb ... Unpacking gir1.2-glib-2.0:amd64 (1.58.3-2) ... Selecting previously unselected package gnupg-l10n. Preparing to unpack .../091-gnupg-l10n_2.2.12-1_all.deb ... Unpacking gnupg-l10n (2.2.12-1) ... Selecting previously unselected package gnupg-utils. Preparing to unpack .../092-gnupg-utils_2.2.12-1_amd64.deb ... Unpacking gnupg-utils (2.2.12-1) ... Selecting previously unselected package gpg. Preparing to unpack .../093-gpg_2.2.12-1_amd64.deb ... Unpacking gpg (2.2.12-1) ... Selecting previously unselected package pinentry-curses. Preparing to unpack .../094-pinentry-curses_1.1.0-2_amd64.deb ... Unpacking pinentry-curses (1.1.0-2) ... Selecting previously unselected package gpg-agent. Preparing to unpack .../095-gpg-agent_2.2.12-1_amd64.deb ... Unpacking gpg-agent (2.2.12-1) ... Selecting previously unselected package gpg-wks-client. Preparing to unpack .../096-gpg-wks-client_2.2.12-1_amd64.deb ... Unpacking gpg-wks-client (2.2.12-1) ... Selecting previously unselected package gpg-wks-server. Preparing to unpack .../097-gpg-wks-server_2.2.12-1_amd64.deb ... Unpacking gpg-wks-server (2.2.12-1) ... Selecting previously unselected package gpgsm. Preparing to unpack .../098-gpgsm_2.2.12-1_amd64.deb ... Unpacking gpgsm (2.2.12-1) ... Selecting previously unselected package gnupg. Preparing to unpack .../099-gnupg_2.2.12-1_all.deb ... Unpacking gnupg (2.2.12-1) ... Selecting previously unselected package javascript-common. Preparing to unpack .../100-javascript-common_11_all.deb ... Unpacking javascript-common (11) ... Selecting previously unselected package python3-entrypoints. Preparing to unpack .../101-python3-entrypoints_0.3-1_all.deb ... Unpacking python3-entrypoints (0.3-1) ... Selecting previously unselected package python3-decorator. Preparing to unpack .../102-python3-decorator_4.3.0-1.1_all.deb ... Unpacking python3-decorator (4.3.0-1.1) ... Selecting previously unselected package python3-ptyprocess. Preparing to unpack .../103-python3-ptyprocess_0.6.0-1_all.deb ... Unpacking python3-ptyprocess (0.6.0-1) ... Selecting previously unselected package python3-pexpect. Preparing to unpack .../104-python3-pexpect_4.6.0-1_all.deb ... Unpacking python3-pexpect (4.6.0-1) ... Selecting previously unselected package python3-pickleshare. Preparing to unpack .../105-python3-pickleshare_0.7.5-1_all.deb ... Unpacking python3-pickleshare (0.7.5-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../106-python3-pkg-resources_40.8.0-1_all.deb ... Unpacking python3-pkg-resources (40.8.0-1) ... Selecting previously unselected package python3-six. Preparing to unpack .../107-python3-six_1.12.0-1_all.deb ... Unpacking python3-six (1.12.0-1) ... Selecting previously unselected package python3-wcwidth. Preparing to unpack .../108-python3-wcwidth_0.1.7+dfsg1-3_all.deb ... Unpacking python3-wcwidth (0.1.7+dfsg1-3) ... Selecting previously unselected package python3-prompt-toolkit. Preparing to unpack .../109-python3-prompt-toolkit_1.0.15-1_all.deb ... Unpacking python3-prompt-toolkit (1.0.15-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../110-python3-pygments_2.3.1+dfsg-1_all.deb ... Unpacking python3-pygments (2.3.1+dfsg-1) ... Selecting previously unselected package python3-simplegeneric. Preparing to unpack .../111-python3-simplegeneric_0.8.1-2_all.deb ... Unpacking python3-simplegeneric (0.8.1-2) ... Selecting previously unselected package python3-ipython-genutils. Preparing to unpack .../112-python3-ipython-genutils_0.2.0-1_all.deb ... Unpacking python3-ipython-genutils (0.2.0-1) ... Selecting previously unselected package python3-traitlets. Preparing to unpack .../113-python3-traitlets_4.3.2-1_all.deb ... Unpacking python3-traitlets (4.3.2-1) ... Selecting previously unselected package python3-ipython. Preparing to unpack .../114-python3-ipython_5.8.0-1_all.deb ... Unpacking python3-ipython (5.8.0-1) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../115-python3-dateutil_2.7.3-3_all.deb ... Unpacking python3-dateutil (2.7.3-3) ... Selecting previously unselected package python3-jupyter-core. Preparing to unpack .../116-python3-jupyter-core_4.4.0-2_all.deb ... Unpacking python3-jupyter-core (4.4.0-2) ... Selecting previously unselected package python3-tornado. Preparing to unpack .../117-python3-tornado_5.1.1-4_amd64.deb ... Unpacking python3-tornado (5.1.1-4) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../118-libkeyutils1_1.6-6_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6-6) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../119-libkrb5support0_1.17-3_amd64.deb ... Unpacking libkrb5support0:amd64 (1.17-3) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../120-libk5crypto3_1.17-3_amd64.deb ... Unpacking libk5crypto3:amd64 (1.17-3) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../121-libkrb5-3_1.17-3_amd64.deb ... Unpacking libkrb5-3:amd64 (1.17-3) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../122-libgssapi-krb5-2_1.17-3_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.17-3) ... Selecting previously unselected package libnorm1:amd64. Preparing to unpack .../123-libnorm1_1.5.8+dfsg2-1_amd64.deb ... Unpacking libnorm1:amd64 (1.5.8+dfsg2-1) ... Selecting previously unselected package libpgm-5.2-0:amd64. Preparing to unpack .../124-libpgm-5.2-0_5.2.122~dfsg-3_amd64.deb ... Unpacking libpgm-5.2-0:amd64 (5.2.122~dfsg-3) ... Selecting previously unselected package libsodium23:amd64. Preparing to unpack .../125-libsodium23_1.0.17-1_amd64.deb ... Unpacking libsodium23:amd64 (1.0.17-1) ... Selecting previously unselected package libzmq5:amd64. Preparing to unpack .../126-libzmq5_4.3.1-4+deb10u1_amd64.deb ... Unpacking libzmq5:amd64 (4.3.1-4+deb10u1) ... Selecting previously unselected package python3-zmq. Preparing to unpack .../127-python3-zmq_17.1.2-2_amd64.deb ... Unpacking python3-zmq (17.1.2-2) ... Selecting previously unselected package python3-jupyter-client. Preparing to unpack .../128-python3-jupyter-client_5.2.3-1_all.deb ... Unpacking python3-jupyter-client (5.2.3-1) ... Selecting previously unselected package python3-testpath. Preparing to unpack .../129-python3-testpath_0.4.2+dfsg-1_all.deb ... Unpacking python3-testpath (0.4.2+dfsg-1) ... Selecting previously unselected package python3-webencodings. Preparing to unpack .../130-python3-webencodings_0.5.1-1_all.deb ... Unpacking python3-webencodings (0.5.1-1) ... Selecting previously unselected package python3-html5lib. Preparing to unpack .../131-python3-html5lib_1.0.1-1_all.deb ... Unpacking python3-html5lib (1.0.1-1) ... Selecting previously unselected package python3-bleach. Preparing to unpack .../132-python3-bleach_3.1.0-1_all.deb ... Unpacking python3-bleach (3.1.0-1) ... Selecting previously unselected package python3-defusedxml. Preparing to unpack .../133-python3-defusedxml_0.5.0-2_all.deb ... Unpacking python3-defusedxml (0.5.0-2) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../134-python3-markupsafe_1.1.0-1_amd64.deb ... Unpacking python3-markupsafe (1.1.0-1) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../135-python3-jinja2_2.10-2_all.deb ... Unpacking python3-jinja2 (2.10-2) ... Selecting previously unselected package python3-mistune. Preparing to unpack .../136-python3-mistune_0.8.4-1_all.deb ... Unpacking python3-mistune (0.8.4-1) ... Selecting previously unselected package python3-jsonschema. Preparing to unpack .../137-python3-jsonschema_2.6.0-4_all.deb ... Unpacking python3-jsonschema (2.6.0-4) ... Selecting previously unselected package python3-nbformat. Preparing to unpack .../138-python3-nbformat_4.4.0-1_all.deb ... Unpacking python3-nbformat (4.4.0-1) ... Selecting previously unselected package python3-pandocfilters. Preparing to unpack .../139-python3-pandocfilters_1.4.2-1_all.deb ... Unpacking python3-pandocfilters (1.4.2-1) ... Selecting previously unselected package python3-nbconvert. Preparing to unpack .../140-python3-nbconvert_5.4-2_all.deb ... Unpacking python3-nbconvert (5.4-2) ... Selecting previously unselected package jupyter-nbconvert. Preparing to unpack .../141-jupyter-nbconvert_5.4-2_all.deb ... Unpacking jupyter-nbconvert (5.4-2) ... Selecting previously unselected package libaec0:amd64. Preparing to unpack .../142-libaec0_1.0.2-1_amd64.deb ... Unpacking libaec0:amd64 (1.0.2-1) ... Selecting previously unselected package libalgorithm-diff-perl. Preparing to unpack .../143-libalgorithm-diff-perl_1.19.03-2_all.deb ... Unpacking libalgorithm-diff-perl (1.19.03-2) ... Selecting previously unselected package libalgorithm-diff-xs-perl. Preparing to unpack .../144-libalgorithm-diff-xs-perl_0.04-5+b1_amd64.deb ... Unpacking libalgorithm-diff-xs-perl (0.04-5+b1) ... Selecting previously unselected package libalgorithm-merge-perl. Preparing to unpack .../145-libalgorithm-merge-perl_0.08-3_all.deb ... Unpacking libalgorithm-merge-perl (0.08-3) ... Selecting previously unselected package libsuitesparseconfig5:amd64. Preparing to unpack .../146-libsuitesparseconfig5_1%3a5.4.0+dfsg-1_amd64.deb ... Unpacking libsuitesparseconfig5:amd64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libamd2:amd64. Preparing to unpack .../147-libamd2_1%3a5.4.0+dfsg-1_amd64.deb ... Unpacking libamd2:amd64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libgfortran5:amd64. Preparing to unpack .../148-libgfortran5_8.3.0-6_amd64.deb ... Unpacking libgfortran5:amd64 (8.3.0-6) ... Selecting previously unselected package libblas3:amd64. Preparing to unpack .../149-libblas3_3.8.0-2_amd64.deb ... Unpacking libblas3:amd64 (3.8.0-2) ... Selecting previously unselected package libsnappy1v5:amd64. Preparing to unpack .../150-libsnappy1v5_1.1.7-1_amd64.deb ... Unpacking libsnappy1v5:amd64 (1.1.7-1) ... Selecting previously unselected package libblosc1. Preparing to unpack .../151-libblosc1_1.15.1+ds1-1_amd64.deb ... Unpacking libblosc1 (1.15.1+ds1-1) ... Selecting previously unselected package libcamd2:amd64. Preparing to unpack .../152-libcamd2_1%3a5.4.0+dfsg-1_amd64.deb ... Unpacking libcamd2:amd64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libccolamd2:amd64. Preparing to unpack .../153-libccolamd2_1%3a5.4.0+dfsg-1_amd64.deb ... Unpacking libccolamd2:amd64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libcolamd2:amd64. Preparing to unpack .../154-libcolamd2_1%3a5.4.0+dfsg-1_amd64.deb ... Unpacking libcolamd2:amd64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package liblapack3:amd64. Preparing to unpack .../155-liblapack3_3.8.0-2_amd64.deb ... Unpacking liblapack3:amd64 (3.8.0-2) ... Selecting previously unselected package libmetis5:amd64. Preparing to unpack .../156-libmetis5_5.1.0.dfsg-5+b2_amd64.deb ... Unpacking libmetis5:amd64 (5.1.0.dfsg-5+b2) ... Selecting previously unselected package libcholmod3:amd64. Preparing to unpack .../157-libcholmod3_1%3a5.4.0+dfsg-1_amd64.deb ... Unpacking libcholmod3:amd64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libdsdp-5.8gf. Preparing to unpack .../158-libdsdp-5.8gf_5.8-9.4_amd64.deb ... Unpacking libdsdp-5.8gf (5.8-9.4) ... Selecting previously unselected package libexpat1-dev:amd64. Preparing to unpack .../159-libexpat1-dev_2.2.6-2_amd64.deb ... Unpacking libexpat1-dev:amd64 (2.2.6-2) ... Selecting previously unselected package libfftw3-double3:amd64. Preparing to unpack .../160-libfftw3-double3_3.3.8-2_amd64.deb ... Unpacking libfftw3-double3:amd64 (3.3.8-2) ... Selecting previously unselected package libfile-fcntllock-perl. Preparing to unpack .../161-libfile-fcntllock-perl_0.22-3+b5_amd64.deb ... Unpacking libfile-fcntllock-perl (0.22-3+b5) ... Selecting previously unselected package libglib2.0-data. Preparing to unpack .../162-libglib2.0-data_2.58.3-2_all.deb ... Unpacking libglib2.0-data (2.58.3-2) ... Selecting previously unselected package libltdl7:amd64. Preparing to unpack .../163-libltdl7_2.4.6-9_amd64.deb ... Unpacking libltdl7:amd64 (2.4.6-9) ... Selecting previously unselected package libglpk40:amd64. Preparing to unpack .../164-libglpk40_4.65-2_amd64.deb ... Unpacking libglpk40:amd64 (4.65-2) ... Selecting previously unselected package libgpm2:amd64. Preparing to unpack .../165-libgpm2_1.20.7-5_amd64.deb ... Unpacking libgpm2:amd64 (1.20.7-5) ... Selecting previously unselected package libgslcblas0:amd64. Preparing to unpack .../166-libgslcblas0_2.5+dfsg-6_amd64.deb ... Unpacking libgslcblas0:amd64 (2.5+dfsg-6) ... Selecting previously unselected package libgsl23:amd64. Preparing to unpack .../167-libgsl23_2.5+dfsg-6_amd64.deb ... Unpacking libgsl23:amd64 (2.5+dfsg-6) ... Selecting previously unselected package libsz2:amd64. Preparing to unpack .../168-libsz2_1.0.2-1_amd64.deb ... Unpacking libsz2:amd64 (1.0.2-1) ... Selecting previously unselected package libhdf5-103:amd64. Preparing to unpack .../169-libhdf5-103_1.10.4+repack-10_amd64.deb ... Unpacking libhdf5-103:amd64 (1.10.4+repack-10) ... Selecting previously unselected package libicu63:amd64. Preparing to unpack .../170-libicu63_63.1-6_amd64.deb ... Unpacking libicu63:amd64 (63.1-6) ... Selecting previously unselected package libimagequant0:amd64. Preparing to unpack .../171-libimagequant0_2.12.2-1.1_amd64.deb ... Unpacking libimagequant0:amd64 (2.12.2-1.1) ... Selecting previously unselected package libjbig0:amd64. Preparing to unpack .../172-libjbig0_2.1-3.1+b2_amd64.deb ... Unpacking libjbig0:amd64 (2.1-3.1+b2) ... Selecting previously unselected package libjpeg62-turbo:amd64. Preparing to unpack .../173-libjpeg62-turbo_1%3a1.5.2-2+b1_amd64.deb ... Unpacking libjpeg62-turbo:amd64 (1:1.5.2-2+b1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../174-libjs-jquery_3.3.1~dfsg-3_all.deb ... Unpacking libjs-jquery (3.3.1~dfsg-3) ... Selecting previously unselected package libjs-jquery-ui. Preparing to unpack .../175-libjs-jquery-ui_1.12.1+dfsg-5_all.deb ... Unpacking libjs-jquery-ui (1.12.1+dfsg-5) ... Selecting previously unselected package liblcms2-2:amd64. Preparing to unpack .../176-liblcms2-2_2.9-3_amd64.deb ... Unpacking liblcms2-2:amd64 (2.9-3) ... Selecting previously unselected package liblua5.1-0:amd64. Preparing to unpack .../177-liblua5.1-0_5.1.5-8.1+b2_amd64.deb ... Unpacking liblua5.1-0:amd64 (5.1.5-8.1+b2) ... Selecting previously unselected package liblzo2-2:amd64. Preparing to unpack .../178-liblzo2-2_2.10-0.1_amd64.deb ... Unpacking liblzo2-2:amd64 (2.10-0.1) ... Selecting previously unselected package libpython3.7:amd64. Preparing to unpack .../179-libpython3.7_3.7.3-2_amd64.deb ... Unpacking libpython3.7:amd64 (3.7.3-2) ... Selecting previously unselected package libpython3.7-dev:amd64. Preparing to unpack .../180-libpython3.7-dev_3.7.3-2_amd64.deb ... Unpacking libpython3.7-dev:amd64 (3.7.3-2) ... Selecting previously unselected package libpython3-dev:amd64. Preparing to unpack .../181-libpython3-dev_3.7.3-1_amd64.deb ... Unpacking libpython3-dev:amd64 (3.7.3-1) ... Selecting previously unselected package libsasl2-modules:amd64. Preparing to unpack .../182-libsasl2-modules_2.1.27+dfsg-1_amd64.deb ... Unpacking libsasl2-modules:amd64 (2.1.27+dfsg-1) ... Selecting previously unselected package libwebp6:amd64. Preparing to unpack .../183-libwebp6_0.6.1-2_amd64.deb ... Unpacking libwebp6:amd64 (0.6.1-2) ... Selecting previously unselected package libtiff5:amd64. Preparing to unpack .../184-libtiff5_4.0.10-4_amd64.deb ... Unpacking libtiff5:amd64 (4.0.10-4) ... Selecting previously unselected package libumfpack5:amd64. Preparing to unpack .../185-libumfpack5_1%3a5.4.0+dfsg-1_amd64.deb ... Unpacking libumfpack5:amd64 (1:5.4.0+dfsg-1) ... Selecting previously unselected package libwebpdemux2:amd64. Preparing to unpack .../186-libwebpdemux2_0.6.1-2_amd64.deb ... Unpacking libwebpdemux2:amd64 (0.6.1-2) ... Selecting previously unselected package libwebpmux3:amd64. Preparing to unpack .../187-libwebpmux3_0.6.1-2_amd64.deb ... Unpacking libwebpmux3:amd64 (0.6.1-2) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../188-libxml2_2.9.4+dfsg1-7+b3_amd64.deb ... Unpacking libxml2:amd64 (2.9.4+dfsg1-7+b3) ... Selecting previously unselected package libxslt1.1:amd64. Preparing to unpack .../189-libxslt1.1_1.1.32-2_amd64.deb ... Unpacking libxslt1.1:amd64 (1.1.32-2) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../190-libyaml-0-2_0.2.1-1_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.1-1) ... Selecting previously unselected package manpages-dev. Preparing to unpack .../191-manpages-dev_4.16-2_all.deb ... Unpacking manpages-dev (4.16-2) ... Selecting previously unselected package pandoc-data. Preparing to unpack .../192-pandoc-data_2.2.1-3_all.deb ... Unpacking pandoc-data (2.2.1-3) ... Selecting previously unselected package pandoc. Preparing to unpack .../193-pandoc_2.2.1-3+b2_amd64.deb ... Unpacking pandoc (2.2.1-3+b2) ... Selecting previously unselected package psmisc. Preparing to unpack .../194-psmisc_23.2-1_amd64.deb ... Unpacking psmisc (23.2-1) ... Selecting previously unselected package python-matplotlib-data. Preparing to unpack .../195-python-matplotlib-data_3.0.2-2_all.deb ... Unpacking python-matplotlib-data (3.0.2-2) ... Selecting previously unselected package python-pip-whl. Preparing to unpack .../196-python-pip-whl_18.1-5_all.deb ... Unpacking python-pip-whl (18.1-5) ... Selecting previously unselected package python-tables-data. Preparing to unpack .../197-python-tables-data_3.4.4-2_all.deb ... Unpacking python-tables-data (3.4.4-2) ... Selecting previously unselected package python3-asn1crypto. Preparing to unpack .../198-python3-asn1crypto_0.24.0-1_all.deb ... Unpacking python3-asn1crypto (0.24.0-1) ... Selecting previously unselected package python3-atomicwrites. Preparing to unpack .../199-python3-atomicwrites_1.1.5-2_all.deb ... Unpacking python3-atomicwrites (1.1.5-2) ... Selecting previously unselected package python3-attr. Preparing to unpack .../200-python3-attr_18.2.0-1_all.deb ... Unpacking python3-attr (18.2.0-1) ... Selecting previously unselected package python3-soupsieve. Preparing to unpack .../201-python3-soupsieve_1.8+dfsg-1_all.deb ... Unpacking python3-soupsieve (1.8+dfsg-1) ... Selecting previously unselected package python3-bs4. Preparing to unpack .../202-python3-bs4_4.7.1-1_all.deb ... Unpacking python3-bs4 (4.7.1-1) ... Selecting previously unselected package python3-cffi-backend. Preparing to unpack .../203-python3-cffi-backend_1.12.2-1_amd64.deb ... Unpacking python3-cffi-backend (1.12.2-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../204-python3-chardet_3.0.4-3_all.deb ... Unpacking python3-chardet (3.0.4-3) ... Selecting previously unselected package python3-crypto. Preparing to unpack .../205-python3-crypto_2.6.1-9+b1_amd64.deb ... Unpacking python3-crypto (2.6.1-9+b1) ... Selecting previously unselected package python3-cryptography. Preparing to unpack .../206-python3-cryptography_2.6.1-3_amd64.deb ... Unpacking python3-cryptography (2.6.1-3) ... Selecting previously unselected package python3-cvxopt. Preparing to unpack .../207-python3-cvxopt_1.1.9+dfsg-3+b1_amd64.deb ... Unpacking python3-cvxopt (1.1.9+dfsg-3+b1) ... Selecting previously unselected package python3-cycler. Preparing to unpack .../208-python3-cycler_0.10.0-1_all.deb ... Unpacking python3-cycler (0.10.0-1) ... Selecting previously unselected package python3-dbus. Preparing to unpack .../209-python3-dbus_1.2.8-3_amd64.deb ... Unpacking python3-dbus (1.2.8-3) ... Selecting previously unselected package python3.7-dev. Preparing to unpack .../210-python3.7-dev_3.7.3-2_amd64.deb ... Unpacking python3.7-dev (3.7.3-2) ... Selecting previously unselected package python3-dev. Preparing to unpack .../211-python3-dev_3.7.3-1_amd64.deb ... Unpacking python3-dev (3.7.3-1) ... Selecting previously unselected package python3-gi. Preparing to unpack .../212-python3-gi_3.30.4-1_amd64.deb ... Unpacking python3-gi (3.30.4-1) ... Selecting previously unselected package python3-ipykernel. Preparing to unpack .../213-python3-ipykernel_4.9.0-1_all.deb ... Unpacking python3-ipykernel (4.9.0-1) ... Selecting previously unselected package python3-joblib. Preparing to unpack .../214-python3-joblib_0.13.0-2_all.deb ... Unpacking python3-joblib (0.13.0-2) ... Selecting previously unselected package python3-secretstorage. Preparing to unpack .../215-python3-secretstorage_2.3.1-2_all.deb ... Unpacking python3-secretstorage (2.3.1-2) ... Selecting previously unselected package python3-keyring. Preparing to unpack .../216-python3-keyring_17.1.1-1_all.deb ... Unpacking python3-keyring (17.1.1-1) ... Selecting previously unselected package python3-keyrings.alt. Preparing to unpack .../217-python3-keyrings.alt_3.1.1-1_all.deb ... Unpacking python3-keyrings.alt (3.1.1-1) ... Selecting previously unselected package python3-kiwisolver. Preparing to unpack .../218-python3-kiwisolver_1.0.1-2+b1_amd64.deb ... Unpacking python3-kiwisolver (1.0.1-2+b1) ... Selecting previously unselected package python3-lxml:amd64. Preparing to unpack .../219-python3-lxml_4.3.2-1_amd64.deb ... Unpacking python3-lxml:amd64 (4.3.2-1) ... Selecting previously unselected package python3-pyparsing. Preparing to unpack .../220-python3-pyparsing_2.2.0+dfsg1-2_all.deb ... Unpacking python3-pyparsing (2.2.0+dfsg1-2) ... Selecting previously unselected package python3-numpy. Preparing to unpack .../221-python3-numpy_1%3a1.16.2-1_amd64.deb ... Unpacking python3-numpy (1:1.16.2-1) ... Selecting previously unselected package python3-matplotlib. Preparing to unpack .../222-python3-matplotlib_3.0.2-2_amd64.deb ... Unpacking python3-matplotlib (3.0.2-2) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../223-python3-more-itertools_4.2.0-1_all.deb ... Unpacking python3-more-itertools (4.2.0-1) ... Selecting previously unselected package python3-numexpr. Preparing to unpack .../224-python3-numexpr_2.6.9-1_amd64.deb ... Unpacking python3-numexpr (2.6.9-1) ... Selecting previously unselected package python3-olefile. Preparing to unpack .../225-python3-olefile_0.46-1_all.deb ... Unpacking python3-olefile (0.46-1) ... Selecting previously unselected package python3-tz. Preparing to unpack .../226-python3-tz_2019.1-1_all.deb ... Unpacking python3-tz (2019.1-1) ... Selecting previously unselected package python3-pandas-lib. Preparing to unpack .../227-python3-pandas-lib_0.23.3+dfsg-3_amd64.deb ... Unpacking python3-pandas-lib (0.23.3+dfsg-3) ... Selecting previously unselected package python3-pandas. Preparing to unpack .../228-python3-pandas_0.23.3+dfsg-3_all.deb ... Unpacking python3-pandas (0.23.3+dfsg-3) ... Selecting previously unselected package python3-patsy. Preparing to unpack .../229-python3-patsy_0.5.0+git13-g54dcf7b-1_all.deb ... Unpacking python3-patsy (0.5.0+git13-g54dcf7b-1) ... Selecting previously unselected package python3-pil:amd64. Preparing to unpack .../230-python3-pil_5.4.1-2_amd64.deb ... Unpacking python3-pil:amd64 (5.4.1-2) ... Selecting previously unselected package python3-pip. Preparing to unpack .../231-python3-pip_18.1-5_all.deb ... Unpacking python3-pip (18.1-5) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../232-python3-pluggy_0.8.0-1_all.deb ... Unpacking python3-pluggy (0.8.0-1) ... Selecting previously unselected package python3-psutil. Preparing to unpack .../233-python3-psutil_5.5.1-1_amd64.deb ... Unpacking python3-psutil (5.5.1-1) ... Selecting previously unselected package python3-py. Preparing to unpack .../234-python3-py_1.7.0-2_all.deb ... Unpacking python3-py (1.7.0-2) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../235-python3-pytest_3.10.1-2_all.deb ... Unpacking python3-pytest (3.10.1-2) ... Selecting previously unselected package python3-scipy. Preparing to unpack .../236-python3-scipy_1.1.0-7_amd64.deb ... Unpacking python3-scipy (1.1.0-7) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../237-python3-setuptools_40.8.0-1_all.deb ... Unpacking python3-setuptools (40.8.0-1) ... Selecting previously unselected package python3-simplejson. Preparing to unpack .../238-python3-simplejson_3.16.0-1_amd64.deb ... Unpacking python3-simplejson (3.16.0-1) ... Selecting previously unselected package python3-statsmodels-lib. Preparing to unpack .../239-python3-statsmodels-lib_0.8.0-9_amd64.deb ... Unpacking python3-statsmodels-lib (0.8.0-9) ... Selecting previously unselected package python3-statsmodels. Preparing to unpack .../240-python3-statsmodels_0.8.0-9_all.deb ... Unpacking python3-statsmodels (0.8.0-9) ... Selecting previously unselected package python3-tables-lib. Preparing to unpack .../241-python3-tables-lib_3.4.4-2_amd64.deb ... Unpacking python3-tables-lib (3.4.4-2) ... Selecting previously unselected package python3-tables. Preparing to unpack .../242-python3-tables_3.4.4-2_all.deb ... Unpacking python3-tables (3.4.4-2) ... Selecting previously unselected package python3-tk:amd64. Preparing to unpack .../243-python3-tk_3.7.3-1_amd64.deb ... Unpacking python3-tk:amd64 (3.7.3-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../244-python3-wheel_0.32.3-2_all.deb ... Unpacking python3-wheel (0.32.3-2) ... Selecting previously unselected package python3-xdg. Preparing to unpack .../245-python3-xdg_0.25-5_all.deb ... Unpacking python3-xdg (0.25-5) ... Selecting previously unselected package shared-mime-info. Preparing to unpack .../246-shared-mime-info_1.10-1_amd64.deb ... Unpacking shared-mime-info (1.10-1) ... Selecting previously unselected package xdg-user-dirs. Preparing to unpack .../247-xdg-user-dirs_0.17-2_amd64.deb ... Unpacking xdg-user-dirs (0.17-2) ... Setting up perl-modules-5.28 (5.28.1-6) ... Setting up libksba8:amd64 (1.3.5-2) ... Setting up javascript-common (11) ... Setting up liblcms2-2:amd64 (2.9-3) ... Setting up lsb-base (10.2019051400) ... Setting up libxau6:amd64 (1:1.0.8-1+b2) ... Setting up libkeyutils1:amd64 (1.6-6) ... Setting up libapparmor1:amd64 (2.13.2-10) ... Setting up ttf-bitstream-vera (1.10-8) ... Setting up libsodium23:amd64 (1.0.17-1) ... Setting up libgpm2:amd64 (1.20.7-5) ... Setting up mime-support (3.62) ... Setting up libgslcblas0:amd64 (2.5+dfsg-6) ... Setting up xdg-user-dirs (0.17-2) ... Setting up libmagic-mgc (1:5.35-4) ... Setting up psmisc (23.2-1) ... Setting up libyaml-0-2:amd64 (0.2.1-1) ... Setting up libglib2.0-0:amd64 (2.58.3-2) ... No schema files found: doing nothing. Setting up manpages (4.16-2) ... Setting up fonts-lyx (2.3.2-1) ... Setting up libprocps7:amd64 (2:3.3.15-2) ... Setting up libsqlite3-0:amd64 (3.27.2-3) ... Setting up libsasl2-modules:amd64 (2.1.27+dfsg-1) ... Setting up libnorm1:amd64 (1.5.8+dfsg2-1) ... Setting up binutils-common:amd64 (2.31.1-16) ... Setting up x11-common (1:7.7+19) ... debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of start. Setting up libmagic1:amd64 (1:5.35-4) ... Setting up linux-libc-dev:amd64 (4.19.37-5+deb10u1) ... Setting up liblzo2-2:amd64 (2.10-0.1) ... Setting up libnpth0:amd64 (1.6-1) ... Setting up krb5-locales (1.17-3) ... Setting up libmetis5:amd64 (5.1.0.dfsg-5+b2) ... Setting up file (1:5.35-4) ... Setting up libassuan0:amd64 (2.5.2-1) ... Setting up libgomp1:amd64 (8.3.0-6) ... Setting up bzip2 (1.0.6-9.1) ... Setting up libldap-common (2.4.47+dfsg-3) ... Setting up libjbig0:amd64 (2.1-3.1+b2) ... Setting up libaec0:amd64 (1.0.2-1) ... Setting up libicu63:amd64 (63.1-6) ... Setting up libfakeroot:amd64 (1.23-1) ... Setting up libsnappy1v5:amd64 (1.1.7-1) ... Setting up libkrb5support0:amd64 (1.17-3) ... Setting up libsasl2-modules-db:amd64 (2.1.27+dfsg-1) ... Setting up fakeroot (1.23-1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Setting up libasan5:amd64 (8.3.0-6) ... Setting up libglib2.0-data (2.58.3-2) ... Setting up libjpeg62-turbo:amd64 (1:1.5.2-2+b1) ... Setting up libx11-data (2:1.6.7-1) ... Setting up make (4.2.1-1.2) ... Setting up libmpfr6:amd64 (4.0.2-1) ... Setting up gnupg-l10n (2.2.12-1) ... Setting up libgsl23:amd64 (2.5+dfsg-6) ... Setting up libncurses6:amd64 (6.1+20181013-2) ... Setting up libdbus-1-3:amd64 (1.12.16-1) ... Setting up dbus (1.12.16-1) ... invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of start. Setting up xz-utils (5.2.4-1) ... update-alternatives: using /usr/bin/xz to provide /usr/bin/lzma (lzma) in auto mode Setting up libquadmath0:amd64 (8.3.0-6) ... Setting up libimagequant0:amd64 (2.12.2-1.1) ... Setting up libpng16-16:amd64 (1.6.36-6) ... Setting up libmpc3:amd64 (1.1.0-1) ... Setting up libatomic1:amd64 (8.3.0-6) ... Setting up patch (2.7.6-3) ... Setting up libtcl8.6:amd64 (8.6.9+dfsg-2) ... Setting up libwebp6:amd64 (0.6.1-2) ... Setting up libk5crypto3:amd64 (1.17-3) ... Setting up libltdl7:amd64 (2.4.6-9) ... Setting up libfftw3-double3:amd64 (3.3.8-2) ... Setting up libsasl2-2:amd64 (2.1.27+dfsg-1) ... Setting up libgfortran5:amd64 (8.3.0-6) ... Setting up libmpx2:amd64 (8.3.0-6) ... Setting up libubsan1:amd64 (8.3.0-6) ... Setting up libisl19:amd64 (0.20-2) ... Setting up sensible-utils (0.0.12) ... Setting up procps (2:3.3.15-2) ... update-alternatives: using /usr/bin/w.procps to provide /usr/bin/w (w) in auto mode Setting up liblua5.1-0:amd64 (5.1.5-8.1+b2) ... Setting up libblosc1 (1.15.1+ds1-1) ... Setting up libgirepository-1.0-1:amd64 (1.58.3-2) ... Setting up netbase (5.6) ... Setting up libkrb5-3:amd64 (1.17-3) ... Setting up libtiff5:amd64 (4.0.10-4) ... Setting up libmpdec2:amd64 (2.4.2-2) ... Setting up pandoc-data (2.2.1-3) ... Setting up libjs-jquery (3.3.1~dfsg-3) ... Setting up libbinutils:amd64 (2.31.1-16) ... Setting up cpp-8 (8.3.0-6) ... Setting up libc-dev-bin (2.28-10) ... Setting up python-matplotlib-data (3.0.2-2) ... Setting up openssl (1.1.1c-1) ... Setting up libwebpmux3:amd64 (0.6.1-2) ... Setting up libbsd0:amd64 (0.9.1-2) ... Setting up readline-common (7.0-5) ... Setting up libxml2:amd64 (2.9.4+dfsg1-7+b3) ... Setting up python-tables-data (3.4.4-2) ... Setting up libsuitesparseconfig5:amd64 (1:5.4.0+dfsg-1) ... Setting up libcc1-0:amd64 (8.3.0-6) ... Setting up liblocale-gettext-perl (1.07-3+b4) ... Setting up liblsan0:amd64 (8.3.0-6) ... Setting up libsz2:amd64 (1.0.2-1) ... Setting up libitm1:amd64 (8.3.0-6) ... Setting up libreadline7:amd64 (7.0-5) ... Setting up libpgm-5.2-0:amd64 (5.2.122~dfsg-3) ... Setting up libgdbm6:amd64 (1.18.1-4) ... Setting up gnupg-utils (2.2.12-1) ... Setting up binutils-x86-64-linux-gnu (2.31.1-16) ... Setting up libtsan0:amd64 (8.3.0-6) ... Setting up pinentry-curses (1.1.0-2) ... Setting up libamd2:amd64 (1:5.4.0+dfsg-1) ... Setting up manpages-dev (4.16-2) ... Setting up libxdmcp6:amd64 (1:1.1.2-3) ... Setting up libpython3.7-stdlib:amd64 (3.7.3-2) ... Setting up libxcb1:amd64 (1.13.1-2) ... Setting up libcolamd2:amd64 (1:5.4.0+dfsg-1) ... Setting up libpython3.7:amd64 (3.7.3-2) ... Setting up libwebpdemux2:amd64 (0.6.1-2) ... Setting up libldap-2.4-2:amd64 (2.4.47+dfsg-3) ... Setting up binutils (2.31.1-16) ... Setting up ca-certificates (20190110) ... debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline Updating certificates in /etc/ssl/certs... 128 added, 0 removed; done. Setting up libcamd2:amd64 (1:5.4.0+dfsg-1) ... Setting up libblas3:amd64 (3.8.0-2) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/x86_64-linux-gnu/libblas.so.3 (libblas.so.3-x86_64-linux-gnu) in auto mode Setting up libjs-jquery-ui (1.12.1+dfsg-5) ... Setting up pandoc (2.2.1-3+b2) ... Setting up libfreetype6:amd64 (2.9.1-3) ... Setting up libglpk40:amd64 (4.65-2) ... Setting up libhdf5-103:amd64 (1.10.4+repack-10) ... Setting up shared-mime-info (1.10-1) ... Setting up libgssapi-krb5-2:amd64 (1.17-3) ... Setting up libgdbm-compat4:amd64 (1.18.1-4) ... Setting up ucf (3.0038+nmu1) ... debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline Setting up gir1.2-glib-2.0:amd64 (1.58.3-2) ... Setting up libgcc-8-dev:amd64 (8.3.0-6) ... Setting up libperl5.28:amd64 (5.28.1-6) ... Setting up libccolamd2:amd64 (1:5.4.0+dfsg-1) ... Setting up cpp (4:8.3.0-1) ... Setting up libxslt1.1:amd64 (1.1.32-2) ... Setting up gpgconf (2.2.12-1) ... Setting up libc6-dev:amd64 (2.28-10) ... Setting up libx11-6:amd64 (2:1.6.7-1) ... Setting up python-pip-whl (18.1-5) ... Setting up gpg (2.2.12-1) ... Setting up libpython3-stdlib:amd64 (3.7.3-1) ... Setting up libstdc++-8-dev:amd64 (8.3.0-6) ... Setting up python3.7 (3.7.3-2) ... Setting up liblapack3:amd64 (3.8.0-2) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/x86_64-linux-gnu/liblapack.so.3 (liblapack.so.3-x86_64-linux-gnu) in auto mode Setting up gcc-8 (8.3.0-6) ... Setting up gpg-agent (2.2.12-1) ... Setting up libzmq5:amd64 (4.3.1-4+deb10u1) ... Setting up libxrender1:amd64 (1:0.9.10-1) ... Setting up fontconfig-config (2.13.1-2) ... debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline Setting up gpgsm (2.2.12-1) ... Setting up libxext6:amd64 (2:1.3.3-1+b2) ... Setting up python3 (3.7.3-1) ... running python rtupdate hooks for python3.7... running python post-rtupdate hooks for python3.7... Setting up python3-pandocfilters (1.4.2-1) ... Setting up python3-xdg (0.25-5) ... Setting up python3-markupsafe (1.1.0-1) ... Setting up python3-wheel (0.32.3-2) ... Setting up python3-webencodings (0.5.1-1) ... Setting up python3-psutil (5.5.1-1) ... Setting up python3-tz (2019.1-1) ... Setting up gcc (4:8.3.0-1) ... Setting up python3-atomicwrites (1.1.5-2) ... Setting up python3-six (1.12.0-1) ... Setting up python3-simplejson (3.16.0-1) ... Setting up dirmngr (2.2.12-1) ... Setting up python3-pil:amd64 (5.4.1-2) ... Setting up python3-decorator (4.3.0-1.1) ... Setting up perl (5.28.1-6) ... Setting up python3-jinja2 (2.10-2) ... Setting up python3-pygments (2.3.1+dfsg-1) ... Setting up libexpat1-dev:amd64 (2.2.6-2) ... Setting up python3-wcwidth (0.1.7+dfsg1-3) ... Setting up python3-pyparsing (2.2.0+dfsg1-2) ... Setting up libdsdp-5.8gf (5.8-9.4) ... Setting up python3-testpath (0.4.2+dfsg-1) ... Setting up python3-zmq (17.1.2-2) ... Setting up python3-gi (3.30.4-1) ... Setting up python3-cycler (0.10.0-1) ... Setting up python3-html5lib (1.0.1-1) ... Setting up python3-pickleshare (0.7.5-1) ... Setting up libdpkg-perl (1.19.7) ... Setting up python3-pluggy (0.8.0-1) ... Setting up gpg-wks-server (2.2.12-1) ... Setting up g++-8 (8.3.0-6) ... Setting up python3-lxml:amd64 (4.3.2-1) ... Setting up python3-crypto (2.6.1-9+b1) ... Setting up python3-dateutil (2.7.3-3) ... Setting up libxss1:amd64 (1:1.2.3-1) ... Setting up libfontconfig1:amd64 (2.13.1-2) ... Setting up python3-simplegeneric (0.8.1-2) ... Setting up python3-lib2to3 (3.7.3-1) ... Setting up python3-mistune (0.8.4-1) ... Setting up python3-asn1crypto (0.24.0-1) ... Setting up python3-soupsieve (1.8+dfsg-1) ... Setting up libcholmod3:amd64 (1:5.4.0+dfsg-1) ... Setting up python3-cffi-backend (1.12.2-1) ... Setting up python3-ptyprocess (0.6.0-1) ... Setting up python3-pkg-resources (40.8.0-1) ... Setting up python3-entrypoints (0.3-1) ... Setting up python3-prompt-toolkit (1.0.15-1) ... Setting up python3-distutils (3.7.3-1) ... Setting up dh-python (3.20190308) ... Setting up python3-more-itertools (4.2.0-1) ... Setting up python3-attr (18.2.0-1) ... Setting up python3-tornado (5.1.1-4) ... Setting up python3-dbus (1.2.8-3) ... Setting up libxft2:amd64 (2.3.2-2) ... Setting up python3-setuptools (40.8.0-1) ... Setting up gpg-wks-client (2.2.12-1) ... Setting up python3-py (1.7.0-2) ... Setting up python3-joblib (0.13.0-2) ... Setting up libfile-fcntllock-perl (0.22-3+b5) ... Setting up python3-defusedxml (0.5.0-2) ... Setting up libalgorithm-diff-perl (1.19.03-2) ... Setting up python3-ipython-genutils (0.2.0-1) ... Setting up python3-pytest (3.10.1-2) ... Setting up libpython3.7-dev:amd64 (3.7.3-2) ... Setting up python3-olefile (0.46-1) ... Setting up libtk8.6:amd64 (8.6.9-2) ... Setting up python3.7-dev (3.7.3-2) ... Setting up python3-bs4 (4.7.1-1) ... Setting up dpkg-dev (1.19.7) ... Setting up python3-bleach (3.1.0-1) ... Setting up python3-chardet (3.0.4-3) ... Setting up libumfpack5:amd64 (1:5.4.0+dfsg-1) ... Setting up python3-jsonschema (2.6.0-4) ... update-alternatives: using /usr/bin/python3-jsonschema to provide /usr/bin/jsonschema (jsonschema) in auto mode Setting up python3-pexpect (4.6.0-1) ... Setting up python3-cryptography (2.6.1-3) ... Setting up python3-kiwisolver (1.0.1-2+b1) ... Setting up python3-pip (18.1-5) ... Setting up python3-numpy (1:1.16.2-1) ... Setting up g++ (4:8.3.0-1) ... update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode Setting up python3-traitlets (4.3.2-1) ... Setting up python3-keyrings.alt (3.1.1-1) ... Setting up gnupg (2.2.12-1) ... Setting up build-essential (12.6) ... Setting up libalgorithm-diff-xs-perl (0.04-5+b1) ... Setting up python3-statsmodels-lib (0.8.0-9) ... Setting up python3-jupyter-core (4.4.0-2) ... Setting up libalgorithm-merge-perl (0.08-3) ... Setting up tk8.6-blt2.5 (2.5.3+dfsg-4) ... Setting up python3-matplotlib (3.0.2-2) ... Setting up python3-scipy (1.1.0-7) ... Setting up libpython3-dev:amd64 (3.7.3-1) ... Setting up python3-cvxopt (1.1.9+dfsg-3+b1) ... Setting up python3-tables-lib (3.4.4-2) ... Setting up blt (2.5.3+dfsg-4) ... Setting up python3-pandas-lib (0.23.3+dfsg-3) ... Setting up python3-tk:amd64 (3.7.3-1) ... Setting up python3-nbformat (4.4.0-1) ... Setting up python3-patsy (0.5.0+git13-g54dcf7b-1) ... Setting up python3-pandas (0.23.3+dfsg-3) ... Setting up python3-secretstorage (2.3.1-2) ... Setting up python3-ipython (5.8.0-1) ... Setting up python3-dev (3.7.3-1) ... Setting up python3-numexpr (2.6.9-1) ... Setting up python3-statsmodels (0.8.0-9) ... Setting up python3-keyring (17.1.1-1) ... Setting up python3-jupyter-client (5.2.3-1) ... Setting up python3-tables (3.4.4-2) ... Setting up python3-ipykernel (4.9.0-1) ... Setting up python3-nbconvert (5.4-2) ... Setting up jupyter-nbconvert (5.4-2) ... Processing triggers for libc-bin (2.28-10) ... Processing triggers for ca-certificates (20190110) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. ---> 9d49dddc5394 Removing intermediate container e2a4b2e6b46b Successfully built 9d49dddc5394 #+end_example Je n'ai pas précisé de nom à mon image. Je le fais maintenant. #+begin_src shell :results output :exports both docker tag 9d49dddc5394 debian_stable_jupyter_dockerfile:latest docker image ls #+end_src #+RESULTS: #+begin_example REPOSITORY TAG IMAGE ID CREATED SIZE debian_stable_jupyter_dockerfile latest 9d49dddc5394 4 minutes ago 960MB debian_stable_jupyter latest 2b001b2c02a6 About an hour ago 962MB simgrid-website latest 0f3727380ab6 13 days ago 1.19GB debian stable 40e13c3c9aab 13 days ago 114MB #+end_example Bon, l'environnement ainsi construit n'est pas rigoureusement identique à celui que j'ai construit manuellement. Je vais vérifier s'il me permet d'obtenir les mêmes résultats: #+begin_src shell :session *shell* :results output :exports both cp notebook.ipynb notebook_docker_dockerfile.ipynb docker run --volume=`pwd`:/tmp debian_stable_jupyter jupyter-nbconvert --to notebook --execute /tmp/notebook_docker_dockerfile.ipynb --output /tmp/notebook_docker_dockerfile.ipynb docker run --volume=`pwd`:/tmp debian_stable_jupyter jupyter-nbconvert --to html /tmp/notebook_docker_dockerfile.ipynb #+end_src #+RESULTS: : : [NbConvertApp] Converting notebook /tmp/notebook_docker_dockerfile.ipynb to notebook : [NbConvertApp] Executing notebook with kernel: python3 : [NbConvertApp] Writing 41346 bytes to /tmp/notebook_docker_dockerfile.ipynb : [NbConvertApp] Converting notebook /tmp/notebook_docker_dockerfile.ipynb to html : [NbConvertApp] Writing 317721 bytes to /tmp/notebook_docker_dockerfile.html #+begin_src shell :session *shell* :results output :exports both ls -l #+end_src #+RESULTS: #+begin_example total 1412 -rw-r--r-- 1 alegrand alegrand 305302 Jul 23 09:20 notebook.html -rw-r--r-- 1 alegrand alegrand 41019 Jul 23 09:19 notebook.ipynb -rw-r--r-- 1 root root 317832 Jul 23 10:10 notebook_docker.html -rw-r--r-- 1 alegrand alegrand 41473 Jul 23 10:10 notebook_docker.ipynb -rw-r--r-- 1 root root 317843 Jul 23 11:13 notebook_docker_dockerfile.html -rw-r--r-- 1 alegrand alegrand 41473 Jul 23 11:13 notebook_docker_dockerfile.ipynb -rw-r--r-- 1 alegrand alegrand 305805 Jul 23 09:21 notebook_rerun.html -rw-r--r-- 1 alegrand alegrand 41473 Jul 23 09:21 notebook_rerun.ipynb -rw-r--r-- 1 alegrand alegrand 485 Jul 23 09:19 shuttle.csv #+end_example Ah, au moins, cette fois-ci, les deux derniers notebooks =notebook_docker_dockerfile.ipynb= et =notebook_docker.ipynb= ont la même taille. #+begin_src shell :session *shell* :results output :exports both diff notebook_docker.ipynb notebook_docker_dockerfile.ipynb # | sed 's/^/>/' #+end_src #+RESULTS: : : 538c538 : < " Time: 08:10:00 Pearson chi2: 0.236 \n", : --- : > " Time: 09:13:51 Pearson chi2: 0.236 \n", : 567c567 : < "Time: 08:10:00 Pearson chi2: 0.236\n", : --- : > "Time: 09:13:51 Pearson chi2: 0.236\n", Ouf, cette fois-ci, il n'y a plus que la date qui ait changé. ** Mise à disposition de mon image Reste à publier mon image. Je me suis créé un compte sur dockerhub afin de pouvoir y publier des images (vous pouvez aussi vous authentifier via github). Une fois que vous aurez votre login et votre mot de passe, il vous faudra les fournir au docker de votre machine via cette commande: # https://docs.docker.com/engine/reference/commandline/push/ #+begin_src shell :session *shell* :results output :exports both docker login # login: alegrand38 passwd: XXXXXXXXXXX #+end_src Il vous faudra ensuite donner à votre image docker le nom qui apparaîtra sur dockerhub. Je choisis ici mon login suivi de =moocrr_jupyter=: #+begin_src shell :session *shell* :results output :exports both docker tag debian_stable_jupyter_dockerfile alegrand38/moocrr_jupyter #+end_src #+RESULTS: Je peux enfin publier mon image (attention, si vous êtes derrière une connexion ADSL, c'est long!): #+begin_src shell :results output :exports both docker push alegrand38/moocrr_jupyter #+end_src #+RESULTS: #+begin_example The push refers to a repository [docker.io/alegrand38/moocrr_jupyter] 92d1efe6875b: Pushing [=====================================> ] 638.8MB/846.4MB 92d1efe6875b: Pushed latest: digest: sha256:310d1018e5bfb831aa429b58d9b4073e68200c644ae92de1bc5e7f24ac6e6dd3 size: 742 #+end_example Vous pouvez remarquer que deux "images" ont été poussées: une petite de 200MB et une grosse de 846MB. La première correspond à l'image de base que nous avons utilisée et la seconde à ce qui a été rajouté/modifié à la suite de notre mise à jour et de l'installation de python et de jupyter. Vos collègues peuvent maintenant récupérer cette image sans problème et la réutiliser. * Tester que votre code s'exécute correctement ailleurs que sur votre machine. Je montrerais ensuite CI (sur la branche master) et comment utiliser ces commandes pour que l'image soit capable d'exécuter notre notebook. https://docs.gitlab.com/ee/ci/quick_start/ ** Création d'un projet test et mise en place de l'intégration continue Je commence par créer un projet jouet sur gitlab, que je clone ensuite sur mon disque. #+begin_src shell :results output :exports both git clone git@gitlab.inria.fr:learninglab/mooc-rr/test_jupyter.git #+end_src #+RESULTS: #+begin_src shell :results output :exports both ls test_jupyter/ #+end_src #+RESULTS: : README.md Parfait, maintenant, nous mettons à la racine de ce dépot une fichier =.gitlab-ci.yml= qui va partir d'une image docker et effectuer une série de commandes. #+begin_src shell :results output :exports both :tangle test_jupyter/.gitlab-ci.yml.old image: "debian:stable" before_script: - perl -v - which perl perl_addition: script: - perl -e "print(3+2);" perl_multiplication: script: - perl -e "print(3*2);" #+end_src #+begin_src shell :results output :exports both cd test_jupyter git add .gitlab-ci.yml git commit -m "Adding a gitlab-ci file" git push #+end_src #+RESULTS: : [master b74a444] Adding a gitlab-ci file : 1 file changed, 13 insertions(+) : create mode 100644 .gitlab-ci.yml On peut ensuite aller sur la page des commits: - https://gitlab.inria.fr/learninglab/mooc-rr/test_jupyter/commits/ - https://gitlab.inria.fr/learninglab/mooc-rr/test_jupyter/commit/b74a444042bf081cf72b12b932494702d11d0299/pipelines?ref=master ** Et maintenant, Jupyter avec notre image docker! Copions notre notebook et ses données dans notre projet: #+begin_src shell :results output :exports both cd test_jupyter/ cp ../mooc_docker/notebook.ipynb ../mooc_docker/shuttle.csv ./ git add notebook.ipynb shuttle.csv git commit -m "Adding a jupyter notebook" git push #+end_src #+RESULTS: : [master cd67d8b] Adding a jupyter notebook : 2 files changed, 737 insertions(+) : create mode 100644 notebook.ipynb : create mode 100644 shuttle.csv Changeons le docker file. #+begin_src shell :results output :exports both :tangle test_jupyter/.gitlab-ci.yml.old2 image: "debian:stable" before_script: - apt-get update && apt-get install -y python3 jupyter-nbconvert python3-ipykernel python3-matplotlib python3-pandas python3-numpy python3-statsmodels - python3 --version - jupyter-nbconvert --version jupyter: script: - jupyter-nbconvert --to notebook --execute notebook.ipynb --output notebook.ipynb - jupyter-nbconvert --to html notebook.ipynb #+end_src #+begin_src shell :results output :exports both cd test_jupyter git add .gitlab-ci.yml git commit -m "Updating gitlab-ci file for Jupyter" git push #+end_src #+RESULTS: : [master 0b796ae] Updating gitlab-ci file for Jupyter : 1 file changed, 1 insertion(+), 4 deletions(-) Problème, en faisant cela à chaque fois, c'est: A. Très lent (au moindre commit de correction orthographique), on fait télécharger des tonnes de paquets. B. Pas stable puisqu'on reconstruit sans rien maîtriser. Une meilleur solution: #+begin_src shell :results output :exports both :tangle test_jupyter/.gitlab-ci.yml jupyter_frozen: image: "alegrand38/moocrr_jupyter" before_script: - python3 --version - jupyter-nbconvert --version script: - jupyter-nbconvert --to notebook --execute notebook.ipynb --output notebook.ipynb - jupyter-nbconvert --to html notebook.ipynb jupyter_uptodate: image: "debian:stable" before_script: - apt-get update && apt-get install -y python3 jupyter-nbconvert python3-ipykernel python3-matplotlib python3-pandas python3-numpy python3-statsmodels - python3 --version - jupyter-nbconvert --version script: - jupyter-nbconvert --to notebook --execute notebook.ipynb --output notebook.ipynb - jupyter-nbconvert --to html notebook.ipynb #+end_src #+begin_src shell :results output :exports both cd test_jupyter git add .gitlab-ci.yml git commit -m "Updating gitlab-ci file for Jupyter" git push #+end_src #+RESULTS: : [master a84baef] Updating gitlab-ci file for Jupyter : 1 file changed, 4 insertions(+), 5 deletions(-) Première chose à faire: activer l'intégration continue: - https://gitlab.inria.fr/learninglab/mooc-rr/test_jupyter/edit (Settings/General/Permissions) - Passer par le container registry de gitlab ? Puis: https://gitlab.inria.fr/alegrand/test_jupyter/pipelines - Mais https://gitlab.inria.fr/alegrand/test_jupyter/pipelines/88234: stuck car pas de runner configuré. - https://gitlab.inria.fr/alegrand/test_jupyter/-/settings/ci_cd (Settings/CI-CD) - Shared runners are disabled for the INRIA Gitlab instance. * Améliorer le test Je peux alors montrer (a) comment utiliser l'environnement figé pour s'assurer que nos propres modifications du notebook n'ont rien cassé et (b) comment utiliser l'environnement qui se met à jour régulièrement pour s'assurer que l'évolution de l'extérieur ne remet pas en cause nos résultats. * Aller plus loin 7. Enfin, pour s'occuper du point (B) sans passer par un docker build/push manuel, je montrerais comment (sur une debian, par exemple) améliorer le dockerfile afin d'expliciter les numéros de version et de figer les sources des paquets. Tout est alors explicite, figé, et construit sur une autre machine, ce qui ne garantie rien mais renforce les chances que quelqu'un d'autre arrive à reproduire cet environnement. Ça ouvre la voie à nix/guix qui permettent d'expliciter finement tout ça mais dont je maîtrise mal l'interaction avec docker. Mais je demanderai aux Nixiens autour de moi ou à Ludovic Courtes. Une fois le push effectué, une information bien plus précise que le dockerfile: #+begin_src shell :results output :exports both docker run alegrand38/moocrr_jupyter dpkg --list #+end_src #+RESULTS: #+begin_example Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===========================-======================-============-=============================================================================== ii adduser 3.118 all add and remove users and groups ii apt 1.8.2 amd64 commandline package manager ii base-files 10.3 amd64 Debian base system miscellaneous files ii base-passwd 3.5.46 amd64 Debian base system master password and group files ii bash 5.0-4 amd64 GNU Bourne Again SHell ii binutils 2.31.1-16 amd64 GNU assembler, linker and binary utilities ii binutils-common:amd64 2.31.1-16 amd64 Common files for the GNU assembler, linker and binary utilities ii binutils-x86-64-linux-gnu 2.31.1-16 amd64 GNU binary utilities, for x86-64-linux-gnu target ii blt 2.5.3+dfsg-4 amd64 graphics extension library for Tcl/Tk - run-time ii bsdutils 1:2.33.1-0.1 amd64 basic utilities from 4.4BSD-Lite ii build-essential 12.6 amd64 Informational list of build-essential packages ii bzip2 1.0.6-9.1 amd64 high-quality block-sorting file compressor - utilities ii ca-certificates 20190110 all Common CA certificates ii coreutils 8.30-3 amd64 GNU core utilities ii cpp 4:8.3.0-1 amd64 GNU C preprocessor (cpp) ii cpp-8 8.3.0-6 amd64 GNU C preprocessor ii dash 0.5.10.2-5 amd64 POSIX-compliant shell ii dbus 1.12.16-1 amd64 simple interprocess messaging system (daemon and utilities) ii debconf 1.5.71 all Debian configuration management system ii debian-archive-keyring 2019.1 all GnuPG archive keys of the Debian archive ii debianutils 4.8.6.1 amd64 Miscellaneous utilities specific to Debian ii dh-python 3.20190308 all Debian helper tools for packaging Python libraries and applications ii diffutils 1:3.7-3 amd64 File comparison utilities ii dirmngr 2.2.12-1 amd64 GNU privacy guard - network certificate management service ii dpkg 1.19.7 amd64 Debian package management system ii dpkg-dev 1.19.7 all Debian package development tools ii e2fsprogs 1.44.5-1 amd64 ext2/ext3/ext4 file system utilities ii fakeroot 1.23-1 amd64 tool for simulating superuser privileges ii fdisk 2.33.1-0.1 amd64 collection of partitioning utilities ii file 1:5.35-4 amd64 Recognize the type of data in a file using "magic" numbers ii findutils 4.6.0+git+20190209-2 amd64 utilities for finding files--find, xargs ii fontconfig-config 2.13.1-2 all generic font configuration library - configuration ii fonts-lyx 2.3.2-1 all TrueType versions of some TeX fonts used by LyX ii g++ 4:8.3.0-1 amd64 GNU C++ compiler ii g++-8 8.3.0-6 amd64 GNU C++ compiler ii gcc 4:8.3.0-1 amd64 GNU C compiler ii gcc-8 8.3.0-6 amd64 GNU C compiler ii gcc-8-base:amd64 8.3.0-6 amd64 GCC, the GNU Compiler Collection (base package) ii gir1.2-glib-2.0:amd64 1.58.3-2 amd64 Introspection data for GLib, GObject, Gio and GModule ii gnupg 2.2.12-1 all GNU privacy guard - a free PGP replacement ii gnupg-l10n 2.2.12-1 all GNU privacy guard - localization files ii gnupg-utils 2.2.12-1 amd64 GNU privacy guard - utility programs ii gpg 2.2.12-1 amd64 GNU Privacy Guard -- minimalist public key operations ii gpg-agent 2.2.12-1 amd64 GNU privacy guard - cryptographic agent ii gpg-wks-client 2.2.12-1 amd64 GNU privacy guard - Web Key Service client ii gpg-wks-server 2.2.12-1 amd64 GNU privacy guard - Web Key Service server ii gpgconf 2.2.12-1 amd64 GNU privacy guard - core configuration utilities ii gpgsm 2.2.12-1 amd64 GNU privacy guard - S/MIME version ii gpgv 2.2.12-1 amd64 GNU privacy guard - signature verification tool ii grep 3.3-1 amd64 GNU grep, egrep and fgrep ii gzip 1.9-3 amd64 GNU compression utilities ii hostname 3.21 amd64 utility to set/show the host name or domain name ii init-system-helpers 1.56+nmu1 all helper tools for all init systems ii iproute2 4.20.0-2 amd64 networking and traffic control tools ii iputils-ping 3:20180629-2 amd64 Tools to test the reachability of network hosts ii javascript-common 11 all Base support for JavaScript library packages ii jupyter-nbconvert 5.4-2 all Jupyter notebook conversion (scripts) ii krb5-locales 1.17-3 all internationalization support for MIT Kerberos ii libacl1:amd64 2.2.53-4 amd64 access control list - shared library ii libaec0:amd64 1.0.2-1 amd64 Adaptive Entropy Coding library ii libalgorithm-diff-perl 1.19.03-2 all module to find differences between files ii libalgorithm-diff-xs-perl 0.04-5+b1 amd64 module to find differences between files (XS accelerated) ii libalgorithm-merge-perl 0.08-3 all Perl module for three-way merge of textual data ii libamd2:amd64 1:5.4.0+dfsg-1 amd64 approximate minimum degree ordering library for sparse matrices ii libapparmor1:amd64 2.13.2-10 amd64 changehat AppArmor library ii libapt-pkg5.0:amd64 1.8.2 amd64 package management runtime library ii libasan5:amd64 8.3.0-6 amd64 AddressSanitizer -- a fast memory error detector ii libassuan0:amd64 2.5.2-1 amd64 IPC library for the GnuPG components ii libatomic1:amd64 8.3.0-6 amd64 support library providing __atomic built-in functions ii libattr1:amd64 1:2.4.48-4 amd64 extended attribute handling - shared library ii libaudit-common 1:2.8.4-3 all Dynamic library for security auditing - common files ii libaudit1:amd64 1:2.8.4-3 amd64 Dynamic library for security auditing ii libbinutils:amd64 2.31.1-16 amd64 GNU binary utilities (private shared library) ii libblas3:amd64 3.8.0-2 amd64 Basic Linear Algebra Reference implementations, shared library ii libblkid1:amd64 2.33.1-0.1 amd64 block device ID library ii libblosc1 1.15.1+ds1-1 amd64 high performance meta-compressor optimized for binary data ii libbsd0:amd64 0.9.1-2 amd64 utility functions from BSD systems - shared library ii libbz2-1.0:amd64 1.0.6-9.1 amd64 high-quality block-sorting file compressor library - runtime ii libc-bin 2.28-10 amd64 GNU C Library: Binaries ii libc-dev-bin 2.28-10 amd64 GNU C Library: Development binaries ii libc6:amd64 2.28-10 amd64 GNU C Library: Shared libraries ii libc6-dev:amd64 2.28-10 amd64 GNU C Library: Development Libraries and Header Files ii libcamd2:amd64 1:5.4.0+dfsg-1 amd64 symmetric approximate minimum degree library for sparse matrices ii libcap-ng0:amd64 0.7.9-2 amd64 An alternate POSIX capabilities library ii libcap2:amd64 1:2.25-2 amd64 POSIX 1003.1e capabilities (library) ii libcap2-bin 1:2.25-2 amd64 POSIX 1003.1e capabilities (utilities) ii libcc1-0:amd64 8.3.0-6 amd64 GCC cc1 plugin for GDB ii libccolamd2:amd64 1:5.4.0+dfsg-1 amd64 constrained column approximate library for sparse matrices ii libcholmod3:amd64 1:5.4.0+dfsg-1 amd64 sparse Cholesky factorization library for sparse matrices ii libcolamd2:amd64 1:5.4.0+dfsg-1 amd64 column approximate minimum degree ordering library for sparse matrices ii libcom-err2:amd64 1.44.5-1 amd64 common error description library ii libdb5.3:amd64 5.3.28+dfsg1-0.5 amd64 Berkeley v5.3 Database Libraries [runtime] ii libdbus-1-3:amd64 1.12.16-1 amd64 simple interprocess messaging system (library) ii libdebconfclient0:amd64 0.249 amd64 Debian Configuration Management System (C-implementation library) ii libdpkg-perl 1.19.7 all Dpkg perl modules ii libdsdp-5.8gf 5.8-9.4 amd64 Software for Semidefinite Programming ii libelf1:amd64 0.176-1.1 amd64 library to read and write ELF files ii libexpat1:amd64 2.2.6-2 amd64 XML parsing C library - runtime library ii libexpat1-dev:amd64 2.2.6-2 amd64 XML parsing C library - development kit ii libext2fs2:amd64 1.44.5-1 amd64 ext2/ext3/ext4 file system libraries ii libfakeroot:amd64 1.23-1 amd64 tool for simulating superuser privileges - shared libraries ii libfdisk1:amd64 2.33.1-0.1 amd64 fdisk partitioning library ii libffi6:amd64 3.2.1-9 amd64 Foreign Function Interface library runtime ii libfftw3-double3:amd64 3.3.8-2 amd64 Library for computing Fast Fourier Transforms - Double precision ii libfile-fcntllock-perl 0.22-3+b5 amd64 Perl module for file locking with fcntl(2) ii libfontconfig1:amd64 2.13.1-2 amd64 generic font configuration library - runtime ii libfreetype6:amd64 2.9.1-3 amd64 FreeType 2 font engine, shared library files ii libgcc-8-dev:amd64 8.3.0-6 amd64 GCC support library (development files) ii libgcc1:amd64 1:8.3.0-6 amd64 GCC support library ii libgcrypt20:amd64 1.8.4-5 amd64 LGPL Crypto library - runtime library ii libgdbm-compat4:amd64 1.18.1-4 amd64 GNU dbm database routines (legacy support runtime version) ii libgdbm6:amd64 1.18.1-4 amd64 GNU dbm database routines (runtime version) ii libgfortran5:amd64 8.3.0-6 amd64 Runtime library for GNU Fortran applications ii libgirepository-1.0-1:amd64 1.58.3-2 amd64 Library for handling GObject introspection data (runtime library) ii libglib2.0-0:amd64 2.58.3-2 amd64 GLib library of C routines ii libglib2.0-data 2.58.3-2 all Common files for GLib library ii libglpk40:amd64 4.65-2 amd64 linear programming kit with integer (MIP) support ii libgmp10:amd64 2:6.1.2+dfsg-4 amd64 Multiprecision arithmetic library ii libgnutls30:amd64 3.6.7-4 amd64 GNU TLS library - main runtime library ii libgomp1:amd64 8.3.0-6 amd64 GCC OpenMP (GOMP) support library ii libgpg-error0:amd64 1.35-1 amd64 GnuPG development runtime library ii libgpm2:amd64 1.20.7-5 amd64 General Purpose Mouse - shared library ii libgsl23:amd64 2.5+dfsg-6 amd64 GNU Scientific Library (GSL) -- library package ii libgslcblas0:amd64 2.5+dfsg-6 amd64 GNU Scientific Library (GSL) -- blas library package ii libgssapi-krb5-2:amd64 1.17-3 amd64 MIT Kerberos runtime libraries - krb5 GSS-API Mechanism ii libhdf5-103:amd64 1.10.4+repack-10 amd64 Hierarchical Data Format 5 (HDF5) - runtime files - serial version ii libhogweed4:amd64 3.4.1-1 amd64 low level cryptographic library (public-key cryptos) ii libicu63:amd64 63.1-6 amd64 International Components for Unicode ii libidn2-0:amd64 2.0.5-1 amd64 Internationalized domain names (IDNA2008/TR46) library ii libimagequant0:amd64 2.12.2-1.1 amd64 palette quantization library ii libisl19:amd64 0.20-2 amd64 manipulating sets and relations of integer points bounded by linear constraints ii libitm1:amd64 8.3.0-6 amd64 GNU Transactional Memory Library ii libjbig0:amd64 2.1-3.1+b2 amd64 JBIGkit libraries ii libjpeg62-turbo:amd64 1:1.5.2-2+b1 amd64 libjpeg-turbo JPEG runtime library ii libjs-jquery 3.3.1~dfsg-3 all JavaScript library for dynamic web applications ii libjs-jquery-ui 1.12.1+dfsg-5 all JavaScript UI library for dynamic web applications ii libk5crypto3:amd64 1.17-3 amd64 MIT Kerberos runtime libraries - Crypto Library ii libkeyutils1:amd64 1.6-6 amd64 Linux Key Management Utilities (library) ii libkrb5-3:amd64 1.17-3 amd64 MIT Kerberos runtime libraries ii libkrb5support0:amd64 1.17-3 amd64 MIT Kerberos runtime libraries - Support library ii libksba8:amd64 1.3.5-2 amd64 X.509 and CMS support library ii liblapack3:amd64 3.8.0-2 amd64 Library of linear algebra routines 3 - shared version ii liblcms2-2:amd64 2.9-3 amd64 Little CMS 2 color management library ii libldap-2.4-2:amd64 2.4.47+dfsg-3 amd64 OpenLDAP libraries ii libldap-common 2.4.47+dfsg-3 all OpenLDAP common files for libraries ii liblocale-gettext-perl 1.07-3+b4 amd64 module using libc functions for internationalization in Perl ii liblsan0:amd64 8.3.0-6 amd64 LeakSanitizer -- a memory leak detector (runtime) ii libltdl7:amd64 2.4.6-9 amd64 System independent dlopen wrapper for GNU libtool ii liblua5.1-0:amd64 5.1.5-8.1+b2 amd64 Shared library for the Lua interpreter version 5.1 ii liblz4-1:amd64 1.8.3-1 amd64 Fast LZ compression algorithm library - runtime ii liblzma5:amd64 5.2.4-1 amd64 XZ-format compression library ii liblzo2-2:amd64 2.10-0.1 amd64 data compression library ii libmagic-mgc 1:5.35-4 amd64 File type determination library using "magic" numbers (compiled magic file) ii libmagic1:amd64 1:5.35-4 amd64 Recognize the type of data in a file using "magic" numbers - library ii libmetis5:amd64 5.1.0.dfsg-5+b2 amd64 Serial Graph Partitioning and Fill-reducing Matrix Ordering ii libmnl0:amd64 1.0.4-2 amd64 minimalistic Netlink communication library ii libmount1:amd64 2.33.1-0.1 amd64 device mounting library ii libmpc3:amd64 1.1.0-1 amd64 multiple precision complex floating-point library ii libmpdec2:amd64 2.4.2-2 amd64 library for decimal floating point arithmetic (runtime library) ii libmpfr6:amd64 4.0.2-1 amd64 multiple precision floating-point computation ii libmpx2:amd64 8.3.0-6 amd64 Intel memory protection extensions (runtime) ii libncurses6:amd64 6.1+20181013-2 amd64 shared libraries for terminal handling ii libncursesw6:amd64 6.1+20181013-2 amd64 shared libraries for terminal handling (wide character support) ii libnettle6:amd64 3.4.1-1 amd64 low level cryptographic library (symmetric and one-way cryptos) ii libnorm1:amd64 1.5.8+dfsg2-1 amd64 NACK-Oriented Reliable Multicast (NORM) library ii libnpth0:amd64 1.6-1 amd64 replacement for GNU Pth using system threads ii libp11-kit0:amd64 0.23.15-2 amd64 library for loading and coordinating access to PKCS#11 modules - runtime ii libpam-modules:amd64 1.3.1-5 amd64 Pluggable Authentication Modules for PAM ii libpam-modules-bin 1.3.1-5 amd64 Pluggable Authentication Modules for PAM - helper binaries ii libpam-runtime 1.3.1-5 all Runtime support for the PAM library ii libpam0g:amd64 1.3.1-5 amd64 Pluggable Authentication Modules library ii libpcre3:amd64 2:8.39-12 amd64 Old Perl 5 Compatible Regular Expression Library - runtime files ii libperl5.28:amd64 5.28.1-6 amd64 shared Perl library ii libpgm-5.2-0:amd64 5.2.122~dfsg-3 amd64 OpenPGM shared library ii libpng16-16:amd64 1.6.36-6 amd64 PNG library - runtime (version 1.6) ii libprocps7:amd64 2:3.3.15-2 amd64 library for accessing process information from /proc ii libpython3-dev:amd64 3.7.3-1 amd64 header files and a static library for Python (default) ii libpython3-stdlib:amd64 3.7.3-1 amd64 interactive high-level object-oriented language (default python3 version) ii libpython3.7:amd64 3.7.3-2 amd64 Shared Python runtime library (version 3.7) ii libpython3.7-dev:amd64 3.7.3-2 amd64 Header files and a static library for Python (v3.7) ii libpython3.7-minimal:amd64 3.7.3-2 amd64 Minimal subset of the Python language (version 3.7) ii libpython3.7-stdlib:amd64 3.7.3-2 amd64 Interactive high-level object-oriented language (standard library, version 3.7) ii libquadmath0:amd64 8.3.0-6 amd64 GCC Quad-Precision Math Library ii libreadline7:amd64 7.0-5 amd64 GNU readline and history libraries, run-time libraries ii libsasl2-2:amd64 2.1.27+dfsg-1 amd64 Cyrus SASL - authentication abstraction library ii libsasl2-modules:amd64 2.1.27+dfsg-1 amd64 Cyrus SASL - pluggable authentication modules ii libsasl2-modules-db:amd64 2.1.27+dfsg-1 amd64 Cyrus SASL - pluggable authentication modules (DB) ii libseccomp2:amd64 2.3.3-4 amd64 high level interface to Linux seccomp filter ii libselinux1:amd64 2.8-1+b1 amd64 SELinux runtime shared libraries ii libsemanage-common 2.8-2 all Common files for SELinux policy management libraries ii libsemanage1:amd64 2.8-2 amd64 SELinux policy management library ii libsepol1:amd64 2.8-1 amd64 SELinux library for manipulating binary security policies ii libsmartcols1:amd64 2.33.1-0.1 amd64 smart column output alignment library ii libsnappy1v5:amd64 1.1.7-1 amd64 fast compression/decompression library ii libsodium23:amd64 1.0.17-1 amd64 Network communication, cryptography and signaturing library ii libsqlite3-0:amd64 3.27.2-3 amd64 SQLite 3 shared library ii libss2:amd64 1.44.5-1 amd64 command-line interface parsing library ii libssl1.1:amd64 1.1.1c-1 amd64 Secure Sockets Layer toolkit - shared libraries ii libstdc++-8-dev:amd64 8.3.0-6 amd64 GNU Standard C++ Library v3 (development files) ii libstdc++6:amd64 8.3.0-6 amd64 GNU Standard C++ Library v3 ii libsuitesparseconfig5:amd64 1:5.4.0+dfsg-1 amd64 configuration routines for all SuiteSparse modules ii libsystemd0:amd64 241-5 amd64 systemd utility library ii libsz2:amd64 1.0.2-1 amd64 Adaptive Entropy Coding library - SZIP ii libtasn1-6:amd64 4.13-3 amd64 Manage ASN.1 structures (runtime) ii libtcl8.6:amd64 8.6.9+dfsg-2 amd64 Tcl (the Tool Command Language) v8.6 - run-time library files ii libtiff5:amd64 4.0.10-4 amd64 Tag Image File Format (TIFF) library ii libtinfo6:amd64 6.1+20181013-2 amd64 shared low-level terminfo library for terminal handling ii libtk8.6:amd64 8.6.9-2 amd64 Tk toolkit for Tcl and X11 v8.6 - run-time files ii libtsan0:amd64 8.3.0-6 amd64 ThreadSanitizer -- a Valgrind-based detector of data races (runtime) ii libubsan1:amd64 8.3.0-6 amd64 UBSan -- undefined behaviour sanitizer (runtime) ii libudev1:amd64 241-5 amd64 libudev shared library ii libumfpack5:amd64 1:5.4.0+dfsg-1 amd64 sparse LU factorization library ii libunistring2:amd64 0.9.10-1 amd64 Unicode string library for C ii libuuid1:amd64 2.33.1-0.1 amd64 Universally Unique ID library ii libwebp6:amd64 0.6.1-2 amd64 Lossy compression of digital photographic images. ii libwebpdemux2:amd64 0.6.1-2 amd64 Lossy compression of digital photographic images. ii libwebpmux3:amd64 0.6.1-2 amd64 Lossy compression of digital photographic images. ii libx11-6:amd64 2:1.6.7-1 amd64 X11 client-side library ii libx11-data 2:1.6.7-1 all X11 client-side library ii libxau6:amd64 1:1.0.8-1+b2 amd64 X11 authorisation library ii libxcb1:amd64 1.13.1-2 amd64 X C Binding ii libxdmcp6:amd64 1:1.1.2-3 amd64 X11 Display Manager Control Protocol library ii libxext6:amd64 2:1.3.3-1+b2 amd64 X11 miscellaneous extension library ii libxft2:amd64 2.3.2-2 amd64 FreeType-based font drawing library for X ii libxml2:amd64 2.9.4+dfsg1-7+b3 amd64 GNOME XML library ii libxrender1:amd64 1:0.9.10-1 amd64 X Rendering Extension client library ii libxslt1.1:amd64 1.1.32-2 amd64 XSLT 1.0 processing library - runtime library ii libxss1:amd64 1:1.2.3-1 amd64 X11 Screen Saver extension library ii libxtables12:amd64 1.8.2-4 amd64 netfilter xtables library ii libyaml-0-2:amd64 0.2.1-1 amd64 Fast YAML 1.1 parser and emitter library ii libzmq5:amd64 4.3.1-4+deb10u1 amd64 lightweight messaging kernel (shared library) ii libzstd1:amd64 1.3.8+dfsg-3 amd64 fast lossless compression algorithm ii linux-libc-dev:amd64 4.19.37-5+deb10u1 amd64 Linux support headers for userspace development ii login 1:4.5-1.1 amd64 system login tools ii lsb-base 10.2019051400 all Linux Standard Base init script functionality ii make 4.2.1-1.2 amd64 utility for directing compilation ii manpages 4.16-2 all Manual pages about using a GNU/Linux system ii manpages-dev 4.16-2 all Manual pages about using GNU/Linux for development ii mawk 1.3.3-17+b3 amd64 a pattern scanning and text processing language ii mime-support 3.62 all MIME files 'mime.types' & 'mailcap', and support programs ii mount 2.33.1-0.1 amd64 tools for mounting and manipulating filesystems ii ncurses-base 6.1+20181013-2 all basic terminal type definitions ii ncurses-bin 6.1+20181013-2 amd64 terminal-related programs and man pages ii netbase 5.6 all Basic TCP/IP networking system ii openssl 1.1.1c-1 amd64 Secure Sockets Layer toolkit - cryptographic utility ii pandoc 2.2.1-3+b2 amd64 general markup converter ii pandoc-data 2.2.1-3 all general markup converter - data files ii passwd 1:4.5-1.1 amd64 change and administer password and group data ii patch 2.7.6-3 amd64 Apply a diff file to an original ii perl 5.28.1-6 amd64 Larry Wall's Practical Extraction and Report Language ii perl-base 5.28.1-6 amd64 minimal Perl system ii perl-modules-5.28 5.28.1-6 all Core Perl modules ii pinentry-curses 1.1.0-2 amd64 curses-based PIN or pass-phrase entry dialog for GnuPG ii procps 2:3.3.15-2 amd64 /proc file system utilities ii psmisc 23.2-1 amd64 utilities that use the proc file system ii python-matplotlib-data 3.0.2-2 all Python based plotting system (data package) ii python-pip-whl 18.1-5 all Python package installer ii python-tables-data 3.4.4-2 all hierarchical database for Python based on HDF5 - test data ii python3 3.7.3-1 amd64 interactive high-level object-oriented language (default python3 version) ii python3-asn1crypto 0.24.0-1 all Fast ASN.1 parser and serializer (Python 3) ii python3-atomicwrites 1.1.5-2 all Atomic file writes - Python 3.x ii python3-attr 18.2.0-1 all Attributes without boilerplate (Python 3) ii python3-bleach 3.1.0-1 all whitelist-based HTML-sanitizing library (Python 3) ii python3-bs4 4.7.1-1 all error-tolerant HTML parser for Python 3 ii python3-cffi-backend 1.12.2-1 amd64 Foreign Function Interface for Python 3 calling C code - runtime ii python3-chardet 3.0.4-3 all universal character encoding detector for Python3 ii python3-crypto 2.6.1-9+b1 amd64 cryptographic algorithms and protocols for Python 3 ii python3-cryptography 2.6.1-3 amd64 Python library exposing cryptographic recipes and primitives (Python 3) ii python3-cvxopt 1.1.9+dfsg-3+b1 amd64 Python3 package for convex optimization ii python3-cycler 0.10.0-1 all composable kwarg iterator (Python 3) ii python3-dateutil 2.7.3-3 all powerful extensions to the standard Python 3 datetime module ii python3-dbus 1.2.8-3 amd64 simple interprocess messaging system (Python 3 interface) ii python3-decorator 4.3.0-1.1 all simplify usage of Python decorators by programmers ii python3-defusedxml 0.5.0-2 all XML bomb protection for Python stdlib modules (for Python 3) ii python3-dev 3.7.3-1 amd64 header files and a static library for Python (default) ii python3-distutils 3.7.3-1 all distutils package for Python 3.x ii python3-entrypoints 0.3-1 all Discover and load entry points from installed packages (Python 3) ii python3-gi 3.30.4-1 amd64 Python 3 bindings for gobject-introspection libraries ii python3-html5lib 1.0.1-1 all HTML parser/tokenizer based on the WHATWG HTML5 specification ii python3-ipykernel 4.9.0-1 all IPython kernel for Jupyter (Python 3) ii python3-ipython 5.8.0-1 all Enhanced interactive Python shell (Python 3 version) ii python3-ipython-genutils 0.2.0-1 all IPython vestigial utilities for Python 3 ii python3-jinja2 2.10-2 all small but fast and easy to use stand-alone template engine ii python3-joblib 0.13.0-2 all tools to provide lightweight pipelining in Python ii python3-jsonschema 2.6.0-4 all An(other) implementation of JSON Schema (Draft 3 and 4) - Python 3.x ii python3-jupyter-client 5.2.3-1 all Jupyter protocol client APIs (Python 3) ii python3-jupyter-core 4.4.0-2 all Core common functionality of Jupyter projects for Python 3 ii python3-keyring 17.1.1-1 all store and access your passwords safely - Python 3 version of the package ii python3-keyrings.alt 3.1.1-1 all alternate backend implementations for python3-keyring ii python3-kiwisolver 1.0.1-2+b1 amd64 fast implementation of the Cassowary constraint solver - Python 3.X ii python3-lib2to3 3.7.3-1 all Interactive high-level object-oriented language (2to3, version 3.6) ii python3-lxml:amd64 4.3.2-1 amd64 pythonic binding for the libxml2 and libxslt libraries ii python3-markupsafe 1.1.0-1 amd64 HTML/XHTML/XML string library for Python 3 ii python3-matplotlib 3.0.2-2 amd64 Python based plotting system in a style similar to Matlab (Python 3) ii python3-minimal 3.7.3-1 amd64 minimal subset of the Python language (default python3 version) ii python3-mistune 0.8.4-1 all Markdown parser for Python 3 ii python3-more-itertools 4.2.0-1 all library with routines for operating on iterables, beyond itertools (Python 3) ii python3-nbconvert 5.4-2 all Jupyter notebook conversion (Python 3) ii python3-nbformat 4.4.0-1 all Jupyter notebook format (Python 3) ii python3-numexpr 2.6.9-1 amd64 Fast numerical array expression evaluator for Python 3 and NumPy ii python3-numpy 1:1.16.2-1 amd64 Fast array facility to the Python 3 language ii python3-olefile 0.46-1 all Python module to read/write MS OLE2 files ii python3-pandas 0.23.3+dfsg-3 all data structures for "relational" or "labeled" data - Python 3 ii python3-pandas-lib 0.23.3+dfsg-3 amd64 low-level implementations and bindings for pandas - Python 3 ii python3-pandocfilters 1.4.2-1 all python3 bindings for Pandoc's filters ii python3-patsy 0.5.0+git13-g54dcf7b-1 all statistical models in Python using symbolic formulas ii python3-pexpect 4.6.0-1 all Python 3 module for automating interactive applications ii python3-pickleshare 0.7.5-1 all File system based database that uses Python pickles for Python 3 ii python3-pil:amd64 5.4.1-2 amd64 Python Imaging Library (Python3) ii python3-pip 18.1-5 all Python package installer ii python3-pkg-resources 40.8.0-1 all Package Discovery and Resource Access using pkg_resources ii python3-pluggy 0.8.0-1 all plugin and hook calling mechanisms for Python - 3.x ii python3-prompt-toolkit 1.0.15-1 all library for building interactive command lines (Python 3) ii python3-psutil 5.5.1-1 amd64 module providing convenience functions for managing processes (Python3) ii python3-ptyprocess 0.6.0-1 all Run a subprocess in a pseudo terminal from Python 3 ii python3-py 1.7.0-2 all Advanced Python development support library (Python 3) ii python3-pygments 2.3.1+dfsg-1 all syntax highlighting package written in Python 3 ii python3-pyparsing 2.2.0+dfsg1-2 all alternative to creating and executing simple grammars - Python 3.x ii python3-pytest 3.10.1-2 all Simple, powerful testing in Python3 ii python3-scipy 1.1.0-7 amd64 scientific tools for Python 3 ii python3-secretstorage 2.3.1-2 all Python module for storing secrets - Python 3.x version ii python3-setuptools 40.8.0-1 all Python3 Distutils Enhancements ii python3-simplegeneric 0.8.1-2 all simple generic functions for Python3 ii python3-simplejson 3.16.0-1 amd64 simple, fast, extensible JSON encoder/decoder for Python 3.x ii python3-six 1.12.0-1 all Python 2 and 3 compatibility library (Python 3 interface) ii python3-soupsieve 1.8+dfsg-1 all modern CSS selector implementation for BeautifulSoup (Python 3) ii python3-statsmodels 0.8.0-9 all Python3 module for the estimation of statistical models ii python3-statsmodels-lib 0.8.0-9 amd64 Python3 low-level implementations and bindings for statsmodels ii python3-tables 3.4.4-2 all hierarchical database for Python3 based on HDF5 ii python3-tables-lib 3.4.4-2 amd64 hierarchical database for Python3 based on HDF5 (extension) ii python3-testpath 0.4.2+dfsg-1 all Utilities for Python 3 code working with files and commands ii python3-tk:amd64 3.7.3-1 amd64 Tkinter - Writing Tk applications with Python 3.x ii python3-tornado 5.1.1-4 amd64 scalable, non-blocking web server and tools - Python 3 package ii python3-traitlets 4.3.2-1 all Lightweight Traits-like package for Python 3 ii python3-tz 2019.1-1 all Python3 version of the Olson timezone database ii python3-wcwidth 0.1.7+dfsg1-3 all determine printable width of a string on a terminal (Python 3) ii python3-webencodings 0.5.1-1 all Python implementation of the WHATWG Encoding standard ii python3-wheel 0.32.3-2 all built-package format for Python ii python3-xdg 0.25-5 all Python 3 library to access freedesktop.org standards ii python3-zmq 17.1.2-2 amd64 Python3 bindings for 0MQ library ii python3.7 3.7.3-2 amd64 Interactive high-level object-oriented language (version 3.7) ii python3.7-dev 3.7.3-2 amd64 Header files and a static library for Python (v3.7) ii python3.7-minimal 3.7.3-2 amd64 Minimal subset of the Python language (version 3.7) ii readline-common 7.0-5 all GNU readline and history libraries, common files ii sed 4.7-1 amd64 GNU stream editor for filtering/transforming text ii sensible-utils 0.0.12 all Utilities for sensible alternative selection ii shared-mime-info 1.10-1 amd64 FreeDesktop.org shared MIME database and spec ii sysvinit-utils 2.93-8 amd64 System-V-like utilities ii tar 1.30+dfsg-6 amd64 GNU version of the tar archiving utility ii tk8.6-blt2.5 2.5.3+dfsg-4 amd64 graphics extension library for Tcl/Tk - library ii ttf-bitstream-vera 1.10-8 all The Bitstream Vera family of free TrueType fonts ii tzdata 2019a-1 all time zone and daylight-saving time data ii ucf 3.0038+nmu1 all Update Configuration File(s): preserve user changes to config files ii util-linux 2.33.1-0.1 amd64 miscellaneous system utilities ii x11-common 1:7.7+19 all X Window System (X.Org) infrastructure ii xdg-user-dirs 0.17-2 amd64 tool to manage well known user directories ii xz-utils 5.2.4-1 amd64 XZ-format compression utilities ii zlib1g:amd64 1:1.2.11.dfsg-1 amd64 compression library - runtime #+end_example #+begin_src shell :results output :exports both dpkg --get-selections # dpkg --set-selections #+end_src * Time machine From https://www.debian.org/releases/: - oldoldstable: jessie (juin 2018) - oldstable: stretch (avril 2019) - stable: buster (juillet 2019) - testing: bullseye - unstable: sid ** oldoldstable (jessie) :noexport: #+begin_src shell :session *docker* :results output :exports both docker run -t -i debian:oldoldstable-slim #+end_src #+RESULTS: : : echo 'org_babel_sh_eoe' #+begin_src shell :session *docker* :results output :exports both cat /etc/apt/sources.list #+end_src #+RESULTS: : : deb http://snapshot.debian.org/archive/debian/20190708T033000Z oldoldstable main : deb http://deb.debian.org/debian oldoldstable main : deb http://snapshot.debian.org/archive/debian-security/20190708T033000Z oldoldstable/updates main : deb http://security.debian.org/debian-security oldoldstable/updates main #+begin_src shell :results output :exports both mkdir -p mooc_docker_image_oldoldstable #+end_src #+RESULTS: #+begin_src shell :results output :exports both :tangle mooc_docker_image_oldoldstable/Dockerfile FROM debian:oldoldstable LABEL maintainer="Arnaud Legrand " RUN apt-get update \ && apt-get install -y python3 \ jupyter-nbconvert python3-ipykernel \ python3-matplotlib python3-pandas python3-numpy python3-statsmodels #+end_src #+begin_src shell :results output :exports both docker build -t debian_oldoldstable_jupyter_dockerfile mooc_docker_image_oldoldstable #+end_src #+RESULTS: #+BEGIN_EXAMPLE The command '/bin/sh -c apt-get update && apt-get install -y python3 jupyter-nbconvert python3-ipykernel python3-matplotlib python3-pandas python3-numpy python3-statsmodels' returned a non-zero code: 100 #+END_EXAMPLE #+begin_src shell :session *docker* :results output :exports both for i in python3-ipykernel jupyter-nbconvert python3-matplotlib python3-pandas python3-numpy python3-statsmodels ; do echo $i; apt-cache show $i | grep Version ; done #+end_src #+RESULTS: #+begin_example python3-ipykernel E: No packages found jupyter-nbconvert E: No packages found python3-matplotlib Version: 1.4.2-3.1 python3-pandas Version: 0.14.1-2 python3-numpy Version: 1:1.8.2-2 python3-statsmodels E: No packages found #+end_example https://snapshot.debian.org/binary/python3-statsmodels/ #+begin_src shell :session *docker* :results output :exports both apt-get install wget wget https://snapshot.debian.org/archive/debian/20170929T215212Z/pool/main/s/statsmodels/python3-statsmodels_0.8.0-4_all.deb wget https://snapshot.debian.org/archive/debian-ports/20171026T191424Z/pool/main/n/nbconvert/jupyter-nbconvert_5.3.1-1_all.deb wget https://snapshot.debian.org/archive/debian-ports/20171026T191424Z/pool/main/n/nbconvert/python3-nbconvert_5.3.1-1_all.deb dpkg -i python3-statsmodels_0.8.0-4_all.deb jupyter-nbconvert_5.3.1-1_all.deb python3-nbconvert_5.3.1-1_all.deb apt-get -f install #+end_src #+begin_src shell :session *docker* :results output :exports both for i in python3-ipykernel jupyter-nbconvert python3-matplotlib python3-pandas python3-numpy python3-statsmodels ; do echo "===== $i ====="; dpkg -s $i done #+end_src #+RESULTS: #+begin_example for i in python3-ipykernel jupyter-nbconvert python3-matplotlib python3- pandas python3-numpy python3-statsmodels ; do echo "===== $i ====="; dpkg -s $i done ===== python3-ipykernel ===== dpkg-query: package 'python3-ipykernel' is not installed and no information is available Use dpkg --info (= dpkg-deb --info) to examine archive files, and dpkg --contents (= dpkg-deb --contents) to list their contents. ===== jupyter-nbconvert ===== dpkg-query: package 'jupyter-nbconvert' is not installed and no information is available Use dpkg --info (= dpkg-deb --info) to examine archive files, and dpkg --contents (= dpkg-deb --contents) to list their contents. ===== python3-matplotlib ===== Package: python3-matplotlib Status: install ok installed Priority: optional Section: python Installed-Size: 12987 Architecture: amd64 Source: matplotlib Version: 1.4.2-3.1 = 1.4.2-3.1), python3-pyparsing (>= 1.5.6), python3-six (>= 1.4), python3-tz, libjs-jquery, libjs-jquery-ui, python3-numpy (>= 1:1.8.0), python3-numpy-abi9, python3 (<< 3.5), python3 (>= 3.4~), python3-nose, libc6 (>= 2.14), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libpng12-0 (>= 1.2.13-4), libstdc++6 (>= 4.6), libtcl8.6 (>= 8.6.0), libtk8.6 (>= 8.6.0) Recommends: python3-pil, python3-tk Suggests: dvipng, gir1.2-gtk-3.0, ghostscript, inkscape, ipython3, librsvg2-common, python-matplotlib-doc, python3-cairocffi, python3-gi, python3-gi-cairo, python3-gobject, python3-pyqt4, python3-scipy, python3-sip, python3-tornado, texlive-extra-utils, texlive-latex-extra, ttf-staypuft Enhances: ipython3 Description: Python based plotting system in a style similar to Matlab (Python 3) Matplotlib is a pure Python plotting library designed to bring publication quality plotting to Python with a syntax familiar to Matlab users. All of the plotting commands in the pylab interface can be accessed either via a functional interface familiar to Matlab users or an object oriented interface familiar to Python users. . This package contains the Python 3 version of matplotlib. Homepage: http://matplotlib.org/ ===== python3-pandas ===== echo 'org_babel_sh_eoe' Package: python3-pandas Status: install ok installed Priority: optional Section: python Installed-Size: 8903 #+end_example #+begin_src shell :session *docker* :results output :exports both apt-get install python3-numpy #+end_src #+RESULTS: #+begin_example Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: jupyter-nbconvert : Depends: python3:any (>= 3.3~) python3-nbconvert : Depends: python3-entrypoints but it is not installable Depends: python3-ipython (>= 5.0.0) but it is not installable Depends: python3-jupyter-client but it is not installable Depends: python3-testpath but it is not installable Depends: python3-bleach but it is not going to be installed Depends: python3-jinja2 but it is not going to be installed Depends: python3-jupyter-core but it is not installable Depends: python3-mistune but it is not installable Depends: python3-nbformat but it is not installable Depends: python3-pandocfilters (>= 1.4) but it is not going to be installed Depends: python3-pygments but it is not going to be installed Depends: python3-traitlets but it is not installable Depends: python3:any (>= 3.3.2-2~) Recommends: pandoc but it is not going to be installed python3-numpy : Depends: python3 (>= 3.4~) but it is not going to be installed Depends: python3 (< 3.5) but it is not going to be installed Depends: python3.4 but it is not going to be installed Depends: libblas3 but it is not going to be installed or libblas.so.3 Depends: libgfortran3 (>= 4.3) but it is not going to be installed Depends: liblapack3 but it is not going to be installed or liblapack.so.3 Depends: libquadmath0 (>= 4.6) but it is not going to be installed python3-statsmodels : Depends: python3:any (>= 3.3.2-2~) Depends: python3-scipy but it is not going to be installed Depends: python3-statsmodels-lib (>= 0.8.0-4) but it is not installable Depends: python3-patsy but it is not going to be installed Depends: python3-pandas but it is not going to be installed Recommends: python3-matplotlib but it is not going to be installed Recommends: python3-joblib but it is not going to be installed Recommends: python3-cvxopt but it is not installable E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). #+end_example Moralité: c'est l'horreur, vaut mieux oublier de partir d'une distrib où les paquets n'étaient pas encore rentrés. Il faudrait itérativement repérer chacun des paquets, un numéro de version qui va bien et les récuperer sur snapshot... ** oldstable (stretch, V2 more controled) :noexport: #+begin_src shell :session *docker* :results output :exports both docker run -t -i debian:stretch-20190708-slim #+end_src #+RESULTS: : Unable to find image 'debian:stretch-20190708-slim' locally : stretch-20190708-slim: Pulling from library/debian : :  0a4690c5d889: Pulling fs layer  0a4690c5d889: Downloading 228.5kB/22.49MB  0a4690c5d889: Downloading 457.5kB/22.49MB  0a4690c5d889: Downloading 695kB/22.49MB  0a4690c5d889: Downloading 920.3kB/22.49MB  0a4690c5d889: Downloading 1.15MB/22.49MB  0a4690c5d889: Downloading 1.379MB/22.49MB  0a4690c5d889: Downloading 1.617MB/22.49MB  0a4690c5d889: Downloading 1.85MB/22.49MB  0a4690c5d889: Downloading 2.079MB/22.49MB  0a4690c5d889: Downloading 2.309MB/22.49MB  0a4690c5d889: Downloading 2.538MB/22.49MB  0a4690c5d889: Downloading 2.768MB/22.49MB  0a4690c5d889: Downloading 2.997MB/22.49MB  0a4690c5d889: Downloading 3.226MB/22.49MB  0a4690c5d889: Downloading 3.456MB/22.49MB  0a4690c5d889: Downloading 3.685MB/22.49MB  0a4690c5d889: Downloading 3.919MB/22.49MB  0a4690c5d889: Downloading 4.148MB/22.49MB  0a4690c5d889: Downloading 4.373MB/22.49MB  0a4690c5d889: Downloading 4.603MB/22.49MB  0a4690c5d889: Downloading 4.832MB/22.49MB  0a4690c5d889: Downloading 5.061MB/22.49MB  0a4690c5d889: Downloading 5.291MB/22.49MB  0a4690c5d889: Downloading 5.524MB/22.49MB  0a4690c5d889: Downloading 5.754MB/22.49MB  0a4690c5d889: Downloading 5.991MB/22.49MB  0a4690c5d889: Downloading 6.221MB/22.49MB  0a4690c5d889: Downloading 6.45MB/22.49MB  0a4690c5d889: Downloading 6.675MB/22.49MB  0a4690c5d889: Downloading 6.905MB/22.49MB  0a4690c5d889: Downloading 7.134MB/22.49MB  0a4690c5d889: Downloading 7.372MB/22.49MB  0a4690c5d889: Downloading 7.601MB/22.49MB  0a4690c5d889: Downloading 7.826MB/22.49MB  0a4690c5d889: Downloading 8.06MB/22.49MB  0a4690c5d889: Downloading 8.289MB/22.49MB  0a4690c5d889: Downloading 8.518MB/22.49MB  0a4690c5d889: Downloading 8.748MB/22.49MB  0a4690c5d889: Downloading 8.973MB/22.49MB  0a4690c5d889: Downloading 9.202MB/22.49MB  0a4690c5d889: Downloading 9.432MB/22.49MB  0a4690c5d889: Downloading 9.665MB/22.49MB  0a4690c5d889: Downloading 9.891MB/22.49MB  0a4690c5d889: Downloading 10.12MB/22.49MB  0a4690c5d889: Downloading 10.35MB/22.49MB  0a4690c5d889: Downloading 10.58MB/22.49MB  0a4690c5d889: Downloading 10.82MB/22.49MB  0a4690c5d889: Downloading 11.05MB/22.49MB  0a4690c5d889: Downloading 11.27MB/22.49MB  0a4690c5d889: Downloading 11.5MB/22.49MB  0a4690c5d889: Downloading 11.73MB/22.49MB  0a4690c5d889: Downloading 11.96MB/22.49MB  0a4690c5d889: Downloading 12.19MB/22.49MB  0a4690c5d889: Downloading 12.42MB/22.49MB  0a4690c5d889: Downloading 12.65MB/22.49MB  0a4690c5d889: Downloading 12.88MB/22.49MB  0a4690c5d889: Downloading 13.11MB/22.49MB  0a4690c5d889: Downloading 13.34MB/22.49MB  0a4690c5d889: Downloading 13.57MB/22.49MB  0a4690c5d889: Downloading 13.8MB/22.49MB  0a4690c5d889: Downloading 14.03MB/22.49MB  0a4690c5d889: Downloading 14.26MB/22.49MB  0a4690c5d889: Downloading 14.49MB/22.49MB  0a4690c5d889: Downloading 14.72MB/22.49MB  0a4690c5d889: Downloading 14.95MB/22.49MB  0a4690c5d889: Downloading 15.17MB/22.49MB  0a4690c5d889: Downloading 15.4MB/22.49MB  0a4690c5d889: Downloading 15.63MB/22.49MB  0a4690c5d889: Downloading 15.86MB/22.49MB  0a4690c5d889: Downloading 16.1MB/22.49MB  0a4690c5d889: Downloading 16.33MB/22.49MB  0a4690c5d889: Downloading 16.56MB/22.49MB  0a4690c5d889: Downloading 16.79MB/22.49MB  0a4690c5d889: Downloading 17.02MB/22.49MB  0a4690c5d889: Downloading 17.25MB/22.49MB  0a4690c5d889: Downloading 17.48MB/22.49MB  0a4690c5d889: Downloading 17.71MB/22.49MB  0a4690c5d889: Downloading 17.94MB/22.49MB  0a4690c5d889: Downloading 18.17MB/22.49MB  0a4690c5d889: Downloading 18.39MB/22.49MB  0a4690c5d889: Downloading 18.62MB/22.49MB  0a4690c5d889: Downloading 18.85MB/22.49MB  0a4690c5d889: Downloading 19.08MB/22.49MB  0a4690c5d889: Downloading 19.31MB/22.49MB  0a4690c5d889: Downloading 19.54MB/22.49MB  0a4690c5d889: Downloading 19.77MB/22.49MB  0a4690c5d889: Downloading 20MB/22.49MB  0a4690c5d889: Downloading 20.22MB/22.49MB  0a4690c5d889: Downloading 20.45MB/22.49MB  0a4690c5d889: Downloading 20.68MB/22.49MB  0a4690c5d889: Downloading 20.91MB/22.49MB  0a4690c5d889: Downloading 21.14MB/22.49MB  0a4690c5d889: Downloading 21.37MB/22.49MB  0a4690c5d889: Downloading 21.6MB/22.49MB  0a4690c5d889: Downloading 21.83MB/22.49MB  0a4690c5d889: Downloading 22.06MB/22.49MB  0a4690c5d889: Downloading 22.29MB/22.49MB  0a4690c5d889: Verifying Checksum  0a4690c5d889: Download complete  0a4690c5d889: Extracting 229.4kB/22.49MB  0a4690c5d889: Extracting 2.523MB/22.49MB  0a4690c5d889: Extracting 5.505MB/22.49MB  0a4690c5d889: Extracting 8.258MB/22.49MB  0a4690c5d889: Extracting 8.946MB/22.49MB  0a4690c5d889: Extracting 11.24MB/22.49MB  0a4690c5d889: Extracting 13.53MB/22.49MB  0a4690c5d889: Extracting 14.45MB/22.49MB  0a4690c5d889: Extracting 15.83MB/22.49MB  0a4690c5d889: Extracting 17.89MB/22.49MB  0a4690c5d889: Extracting 19.73MB/22.49MB  0a4690c5d889: Extracting 20.19MB/22.49MB  0a4690c5d889: Extracting 21.33MB/22.49MB  0a4690c5d889: Extracting 21.79MB/22.49MB  0a4690c5d889: Extracting 22.49MB/22.49MB  0a4690c5d889: Pull complete Digest: sha256:0c04edb9ae10feb7ac03a659dd41e16c79e04fdb2b10cf93c3cbcef1fd6cc1d5 : Status: Downloaded newer image for debian:stretch-20190708-slim #+begin_src shell :session *docker* :results output :exports both cat /etc/apt/sources.list #+end_src #+RESULTS: : : deb http://snapshot.debian.org/archive/debian/20190708T033000Z stretch main : deb http://deb.debian.org/debian stretch main : deb http://snapshot.debian.org/archive/debian-security/20190708T033000Z stretch/updates main : deb http://security.debian.org/debian-security stretch/updates main : deb http://snapshot.debian.org/archive/debian/20190708T033000Z stretch-updates main : deb http://deb.debian.org/debian stretch-updates main #+begin_src shell :session *docker* :results output :exports both cp /etc/apt/sources.list /etc/apt/sources.list.bak cat /etc/apt/sources.list.bak | grep snapsho > /etc/apt/sources.list cat /etc/apt/sources.list #+end_src #+RESULTS: : cp /etc/apt/sources.list /etc/apt/sources.list.bak : cat /etc/apt/sources.list.bak | grep snapsho > /etc/apt/sources.list : cat /etc/apt/sources.list : deb http://snapshot.debian.org/archive/debian/20190708T033000Z stretch main : deb http://snapshot.debian.org/archive/debian-security/20190708T033000Z stretch/updates main : deb http://snapshot.debian.org/archive/debian/20190708T033000Z stretch-updates main # #+begin_src shell :results output :exports both # mkdir -p mooc_docker_image_oldoldstable # #+end_src # #+RESULTS: # #+begin_src shell :results output :exports both :tangle mooc_docker_image_oldoldstable/Dockerfile # FROM debian:oldoldstable # LABEL maintainer="Arnaud Legrand " # RUN apt-get update \ # && apt-get install -y python3 \ # jupyter-nbconvert python3-ipykernel \ # python3-matplotlib python3-pandas python3-numpy python3-statsmodels # #+end_src # #+begin_src shell :results output :exports both # docker build -t debian_oldoldstable_jupyter_dockerfile mooc_docker_image_oldoldstable # #+end_src # #+RESULTS: # #+BEGIN_EXAMPLE # The command '/bin/sh -c apt-get update && apt-get install -y python3 jupyter-nbconvert python3-ipykernel python3-matplotlib python3-pandas python3-numpy python3-statsmodels' returned a non-zero code: 100 # #+END_EXAMPLE #+begin_src shell :session *docker* :results output :exports both for i in python3-ipykernel jupyter-nbconvert python3-matplotlib python3-pandas python3-numpy python3-statsmodels ; do echo $i; apt-cache show $i | grep Version ; done #+end_src #+RESULTS: #+begin_example for i in python3-ipykernel jupyter-nbconvert python3-matplotlib python3 3-pandas python3-numpy python3-statsmodels ; do echo $i; apt-cache show $i | grep Version ; done python3-ipykernel E: No packages found jupyter-nbconvert E: No packages found python3-matplotlib E: No packages found python3-pandas E: No packages found python3-numpy E: No packages found python3-statsmodels E: No packages found #+end_example #+begin_src shell :session *docker* :results output :exports both apt-get update #+end_src #+RESULTS: : : echo 'org_babel_sh_eoe' : Reading package lists... Done #+begin_src shell :session *docker* :results output :exports both for i in python3-ipykernel jupyter-nbconvert python3-matplotlib python3-pandas python3-numpy python3-statsmodels ; do echo $i; apt-cache show $i | grep Version ; done #+end_src #+RESULTS: #+begin_example for i in python3-ipykernel jupyter-nbconvert python3-matplotlib python3 3-pandas python3-numpy python3-statsmodels ; do echo $i; apt-cache show $i | grep Version ; done python3-ipykernel E: No packages found jupyter-nbconvert E: No packages found python3-matplotlib E: No packages found python3-pandas E: No packages found python3-numpy E: No packages found python3-statsmodels E: No packages found #+end_example Du coup, je suis obligé de rétablir le sources.list d'origine... :( Et là, pas de python3-statsmodels mais tout le reste est présent. Au moins, je peux tenter ça plus une install de python3-statsmodels à partir de snapshots. https://snapshot.debian.org/binary/python3-statsmodels/ wget https://snapshot.debian.org/archive/debian/20170929T215212Z/pool/main/s/statsmodels/python3-statsmodels_0.8.0-4_all.deb python3-statsmodels-lib ** Debian Stretch with packages from march 2018 #+begin_src shell :session *docker* :results output :exports both docker run -t -i debian:stretch-slim #+end_src #+RESULTS: #+begin_src shell :session *docker* :results output :exports both cat /etc/apt/sources.list #+end_src #+RESULTS: : : deb http://snapshot.debian.org/archive/debian/20190708T033000Z stretch main : deb http://deb.debian.org/debian stretch main : deb http://snapshot.debian.org/archive/debian-security/20190708T033000Z stretch/updates main : deb http://security.debian.org/debian-security stretch/updates main : deb http://snapshot.debian.org/archive/debian/20190708T033000Z stretch-updates main : deb http://deb.debian.org/debian stretch-updates main #+begin_src shell :session *docker* :results output :exports both # echo "deb http://snapshot.debian.org/archive/debian/20170929T215212Z/ testing main" > /etc/apt/sources.list echo "deb http://snapshot.debian.org/archive/debian/20180310T130644Z/ testing main" > /etc/apt/sources.list cat /etc/apt/sources.list #+end_src #+RESULTS: : : echo "deb http://snapshot.debian.org/archive/debian/20170929T215212Z/ / testing main" > /etc/apt/sources.list : echo "deb http://snapshot.debian.org/archive/debian/20180310T130644Z/ t testing main" > /etc/apt/sources.list : cat /etc/apt/sources.list : deb http://snapshot.debian.org/archive/debian/20180310T130644Z/ testing main Inspiring from: https://unix.stackexchange.com/questions/2544/how-to-work-around-release-file-expired-problem-on-a-local-mirror #+begin_src shell :results output :exports both apt-get -o Acquire::Check-Valid-Until=false update #+end_src #+begin_src shell :session *docker* :results output :exports both for i in python3-ipykernel jupyter-nbconvert python3-matplotlib python3-pandas python3-numpy python3-statsmodels ; do echo $i; apt-cache show $i | grep Version ; done #+end_src #+RESULTS: #+begin_example for i in python3-ipykernel jupyter-nbconvert python3-matplotlib python3 3-pandas python3-numpy python3-statsmodels ; do echo $i; apt-cache show $i | grep Version ; done python3-ipykernel Version: 4.8.2-2 jupyter-nbconvert Version: 5.3.1-1 python3-matplotlib Version: 2.1.1-2 python3-pandas Version: 0.20.3-11 python3-numpy Version: 1:1.13.3-2 python3-statsmodels Version: 0.8.0-6 #+end_example #+begin_src shell :session *docker* :results output :exports both apt-get install -y python3 \ jupyter-nbconvert python3-ipykernel \ python3-matplotlib python3-pandas python3-numpy python3-statsmodels #+end_src #+RESULTS: #+begin_example apt-get install -y python3 \  .dockerenv dev/ lib/ mnt/ root/ srv/ usr/ bin/ etc/ lib64/ opt/ run/ sys/ var/ boot/ home/ media/ proc/ sbin/ tmp/ jupyter-nbconvert python3-ipykernel \  .dockerenv dev/ lib/ mnt/ root/ srv/ usr/ bin/ etc/ lib64/ opt/ run/ sys/ var/ boot/ home/ media/ proc/ sbin/ tmp/ #+end_example #+begin_src shell :session *docker* :results output :exports both dpkg --list #+end_src #+RESULTS: #+begin_example Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-================-=============-=============-====================================== ii adduser 3.115 all add and remove users and groups ii apt 1.4.9 amd64 commandline package manager ii base-files 9.9+deb9u9 amd64 Debian base system miscellaneous files ii base-passwd 3.5.43 amd64 Debian base system master password and ii bash 4.4-5 amd64 GNU Bourne Again SHell ii binutils 2.30-5 amd64 GNU assembler, linker and binary utili ii binutils-common: 2.30-5 amd64 Common files for the GNU assembler, li ii binutils-x86-64- 2.30-5 amd64 GNU binary utilities, for x86-64-linux ii blt 2.5.3+dfsg-4 amd64 graphics extension library for Tcl/Tk ii bsdutils 1:2.29.2-1+de amd64 basic utilities from 4.4BSD-Lite ii build-essential 12.4 amd64 Informational list of build-essential ii bzip2 1.0.6-8.1 amd64 high-quality block-sorting file compre ii ca-certificates 20170717 all Common CA certificates ii coreutils 8.26-3 amd64 GNU core utilities ii cpp 4:7.2.0-1d1 amd64 GNU C preprocessor (cpp) ii cpp-7 7.3.0-5 amd64 GNU C preprocessor ii dash 0.5.8-2.4 amd64 POSIX-compliant shell ii dbus 1.12.6-2 amd64 simple interprocess messaging system ( ii debconf 1.5.61 all Debian configuration management system ii debian-archive-k 2017.5 all GnuPG archive keys of the Debian archi ii debianutils 4.8.1.1 amd64 Miscellaneous utilities specific to De ii dh-python 2.20170125 all Debian helper tools for packaging Pyth ii diffutils 1:3.5-3 amd64 File comparison utilities ii dirmngr 2.2.5-1 amd64 GNU privacy guard - network certificat ii dpkg 1.18.25 amd64 Debian package management system ii dpkg-dev 1.19.0.5 all Debian package development tools ii e2fslibs:amd64 1.43.4-2 amd64 ext2/ext3/ext4 file system libraries ii e2fsprogs 1.43.4-2 amd64 ext2/ext3/ext4 file system utilities ii fakeroot 1.22-2 amd64 tool for simulating superuser privileg ii file 1:5.32-2 amd64 Recognize the type of data in a file u ii findutils 4.6.0+git+201 amd64 utilities for finding files--find, xar ii fontconfig-confi 2.12.6-0.1 all generic font configuration library - c ii fonts-lyx 2.2.3-5 all TrueType versions of some TeX fonts us ii g++ 4:7.2.0-1d1 amd64 GNU C++ compiler ii g++-7 7.3.0-5 amd64 GNU C++ compiler ii gcc 4:7.2.0-1d1 amd64 GNU C compiler ii gcc-6-base:amd64 6.3.0-18+deb9 amd64 GCC, the GNU Compiler Collection (base ii gcc-7 7.3.0-5 amd64 GNU C compiler ii gcc-7-base:amd64 7.3.0-5 amd64 GCC, the GNU Compiler Collection (base ii gcc-8-base:amd64 8-20180218-1 amd64 GCC, the GNU Compiler Collection (base ii gir1.2-glib-2.0: 1.54.1-4 amd64 Introspection data for GLib, GObject, ii gnupg 2.2.5-1 amd64 GNU privacy guard - a free PGP replace ii gnupg-l10n 2.2.5-1 all GNU privacy guard - localization files ii gnupg-utils 2.2.5-1 amd64 GNU privacy guard - utility programs ii gpg 2.2.5-1 amd64 GNU Privacy Guard -- minimalist public ii gpg-agent 2.2.5-1 amd64 GNU privacy guard - cryptographic agen ii gpg-wks-client 2.2.5-1 amd64 GNU privacy guard - Web Key Service cl ii gpg-wks-server 2.2.5-1 amd64 GNU privacy guard - Web Key Service se ii gpgconf 2.2.5-1 amd64 GNU privacy guard - core configuration ii gpgsm 2.2.5-1 amd64 GNU privacy guard - S/MIME version ii gpgv 2.2.5-1 amd64 GNU privacy guard - signature verifica ii grep 2.27-2 amd64 GNU grep, egrep and fgrep ii gzip 1.6-5+b1 amd64 GNU compression utilities ii hostname 3.18+b1 amd64 utility to set/show the host name or d ii init-system-help 1.48 all helper tools for all init systems ii javascript-commo 11 all Base support for JavaScript library pa ii jupyter-nbconver 5.3.1-1 all Jupyter notebook conversion (scripts) ii krb5-locales 1.16-2 all internationalization support for MIT K ii libacl1:amd64 2.2.52-3+b1 amd64 Access control list shared library ii libaec0:amd64 1.0.2-1 amd64 Adaptive Entropy Coding library ii libalgorithm-dif 1.19.03-1 all module to find differences between fil ii libalgorithm-dif 0.04-5 amd64 module to find differences between fil ii libalgorithm-mer 0.08-3 all Perl module for three-way merge of tex ii libamd2:amd64 1:5.1.2-2 amd64 approximate minimum degree ordering li ii libapparmor1:amd 2.12-3 amd64 changehat AppArmor library ii libapt-pkg5.0:am 1.4.9 amd64 package management runtime library ii libasan4:amd64 7.3.0-5 amd64 AddressSanitizer -- a fast memory erro ii libassuan0:amd64 2.5.1-2 amd64 IPC library for the GnuPG components ii libatomic1:amd64 8-20180218-1 amd64 support library providing __atomic bui ii libattr1:amd64 1:2.4.47-2+b2 amd64 Extended attribute shared library ii libaudit-common 1:2.6.7-2 all Dynamic library for security auditing ii libaudit1:amd64 1:2.6.7-2 amd64 Dynamic library for security auditing ii libbinutils:amd6 2.30-5 amd64 GNU binary utilities (private shared l ii libblas3:amd64 3.7.1-4 amd64 Basic Linear Algebra Reference impleme ii libblkid1:amd64 2.29.2-1+deb9 amd64 block device ID library ii libblosc1 1.11.1+ds2-3 amd64 high performance meta-compressor optim ii libbsd0:amd64 0.8.7-1 amd64 utility functions from BSD systems - s ii libbz2-1.0:amd64 1.0.6-8.1 amd64 high-quality block-sorting file compre ii libc-bin 2.27-1 amd64 GNU C Library: Binaries ii libc-dev-bin 2.27-1 amd64 GNU C Library: Development binaries ii libc6:amd64 2.27-1 amd64 GNU C Library: Shared libraries ii libc6-dev:amd64 2.27-1 amd64 GNU C Library: Development Libraries a ii libcamd2:amd64 1:5.1.2-2 amd64 symmetric approximate minimum degree l ii libcap-ng0:amd64 0.7.7-3+b1 amd64 An alternate POSIX capabilities librar ii libcc1-0:amd64 8-20180218-1 amd64 GCC cc1 plugin for GDB ii libccolamd2:amd6 1:5.1.2-2 amd64 constrained column approximate library ii libcholmod3:amd6 1:5.1.2-2 amd64 sparse Cholesky factorization library ii libcilkrts5:amd6 7.3.0-5 amd64 Intel Cilk Plus language extensions (r ii libcolamd2:amd64 1:5.1.2-2 amd64 column approximate minimum degree orde ii libcomerr2:amd64 1.43.4-2 amd64 common error description library ii libdb5.3:amd64 5.3.28-12+deb amd64 Berkeley v5.3 Database Libraries [runt ii libdbus-1-3:amd6 1.12.6-2 amd64 simple interprocess messaging system ( ii libdebconfclient 0.227 amd64 Debian Configuration Management System ii libdpkg-perl 1.19.0.5 all Dpkg perl modules ii libdsdp-5.8gf 5.8-9.4 amd64 Software for Semidefinite Programming ii libexpat1:amd64 2.2.5-3 amd64 XML parsing C library - runtime librar ii libexpat1-dev:am 2.2.5-3 amd64 XML parsing C library - development ki ii libfakeroot:amd6 1.22-2 amd64 tool for simulating superuser privileg ii libfdisk1:amd64 2.29.2-1+deb9 amd64 fdisk partitioning library ii libffi6:amd64 3.2.1-8 amd64 Foreign Function Interface library run ii libfftw3-double3 3.3.7-1 amd64 Library for computing Fast Fourier Tra ii libfile-fcntlloc 0.22-3+b4 amd64 Perl module for file locking with fcnt ii libfontconfig1:a 2.12.6-0.1 amd64 generic font configuration library - r ii libfreetype6:amd 2.8.1-2 amd64 FreeType 2 font engine, shared library ii libgcc-7-dev:amd 7.3.0-5 amd64 GCC support library (development files ii libgcc1:amd64 1:8-20180218- amd64 GCC support library ii libgcrypt20:amd6 1.8.1-4 amd64 LGPL Crypto library - runtime library ii libgdbm-compat4: 1.14.1-4 amd64 GNU dbm database routines (legacy supp ii libgdbm5:amd64 1.14.1-4 amd64 GNU dbm database routines (runtime ver ii libgfortran4:amd 7.3.0-5 amd64 Runtime library for GNU Fortran applic ii libgirepository- 1.54.1-4 amd64 Library for handling GObject introspec ii libglib2.0-0:amd 2.54.3-2 amd64 GLib library of C routines ii libglib2.0-data 2.54.3-2 all Common files for GLib library ii libglpk40:amd64 4.65-2 amd64 linear programming kit with integer (M ii libgmp10:amd64 2:6.1.2+dfsg- amd64 Multiprecision arithmetic library ii libgnutls30:amd6 3.5.18-1 amd64 GNU TLS library - main runtime library ii libgomp1:amd64 8-20180218-1 amd64 GCC OpenMP (GOMP) support library ii libgpg-error0:am 1.26-2 amd64 library for common error values and me ii libgsl23:amd64 2.4+dfsg-6 amd64 GNU Scientific Library (GSL) -- librar ii libgslcblas0:amd 2.4+dfsg-6 amd64 GNU Scientific Library (GSL) -- blas l ii libgssapi-krb5-2 1.16-2 amd64 MIT Kerberos runtime libraries - krb5 ii libhdf5-100:amd6 1.10.0-patch1 amd64 Hierarchical Data Format 5 (HDF5) - ru ii libhogweed4:amd6 3.4-1 amd64 low level cryptographic library (publi ii libicu57:amd64 57.1-8 amd64 International Components for Unicode ii libidn2-0:amd64 2.0.4-1.1 amd64 Internationalized domain names (IDNA20 ii libisl15:amd64 0.18-1 amd64 manipulating sets and relations of int ii libitm1:amd64 8-20180218-1 amd64 GNU Transactional Memory Library ii libjbig0:amd64 2.1-3.1+b2 amd64 JBIGkit libraries ii libjpeg62-turbo: 1:1.5.2-2+b1 amd64 libjpeg-turbo JPEG runtime library ii libjs-jquery 3.2.1-1 all JavaScript library for dynamic web app ii libjs-jquery-ui 1.12.1+dfsg-5 all JavaScript UI library for dynamic web ii libk5crypto3:amd 1.16-2 amd64 MIT Kerberos runtime libraries - Crypt ii libkeyutils1:amd 1.5.9-9.2 amd64 Linux Key Management Utilities (librar ii libkrb5-3:amd64 1.16-2 amd64 MIT Kerberos runtime libraries ii libkrb5support0: 1.16-2 amd64 MIT Kerberos runtime libraries - Suppo ii libksba8:amd64 1.3.5-2 amd64 X.509 and CMS support library ii liblapack3:amd64 3.7.1-4 amd64 Library of linear algebra routines 3 - ii liblcms2-2:amd64 2.9-1 amd64 Little CMS 2 color management library ii libldap-2.4-2:am 2.4.45+dfsg-1 amd64 OpenLDAP libraries ii libldap-common 2.4.45+dfsg-1 all OpenLDAP common files for libraries ii liblocale-gettex 1.07-3+b3 amd64 module using libc functions for intern ii liblsan0:amd64 8-20180218-1 amd64 LeakSanitizer -- a memory leak detecto ii libltdl7:amd64 2.4.6-2 amd64 System independent dlopen wrapper for ii liblua5.1-0:amd6 5.1.5-8.1+b2 amd64 Shared library for the Lua interpreter ii libluajit-5.1-2: 2.1.0~beta3+d amd64 Just in time compiler for Lua - librar ii libluajit-5.1-co 2.1.0~beta3+d all Just in time compiler for Lua - common ii liblz4-1:amd64 0.0~r131-2+b1 amd64 Fast LZ compression algorithm library ii liblzma5:amd64 5.2.2-1.2+b1 amd64 XZ-format compression library ii liblzo2-2:amd64 2.08-1.2+b2 amd64 data compression library ii libmagic-mgc 1:5.32-2 amd64 File type determination library using ii libmagic1:amd64 1:5.32-2 amd64 Recognize the type of data in a file u ii libmetis5:amd64 5.1.0.dfsg-5+ amd64 Serial Graph Partitioning and Fill-red ii libmount1:amd64 2.29.2-1+deb9 amd64 device mounting library ii libmpc3:amd64 1.1.0-1 amd64 multiple precision complex floating-po ii libmpdec2:amd64 2.4.2-1 amd64 library for decimal floating point ari ii libmpfr6:amd64 4.0.0-7 amd64 multiple precision floating-point comp ii libmpx2:amd64 8-20180218-1 amd64 Intel memory protection extensions (ru ii libncursesw5:amd 6.0+20161126- amd64 shared libraries for terminal handling ii libnettle6:amd64 3.4-1 amd64 low level cryptographic library (symme ii libnorm1:amd64 1.5r6+dfsg1-6 amd64 NACK-Oriented Reliable Multicast (NORM ii libnpth0:amd64 1.5-3 amd64 replacement for GNU Pth using system t ii libp11-kit0:amd6 0.23.9-2 amd64 library for loading and coordinating a ii libpam-modules:a 1.1.8-3.6 amd64 Pluggable Authentication Modules for P ii libpam-modules-b 1.1.8-3.6 amd64 Pluggable Authentication Modules for P ii libpam-runtime 1.1.8-3.6 all Runtime support for the PAM library ii libpam0g:amd64 1.1.8-3.6 amd64 Pluggable Authentication Modules libra ii libpcre3:amd64 2:8.39-3 amd64 Old Perl 5 Compatible Regular Expressi ii libperl5.26:amd6 5.26.1-5 amd64 shared Perl library ii libpgm-5.2-0:amd 5.2.122~dfsg- amd64 OpenPGM shared library ii libpng16-16:amd6 1.6.34-1 amd64 PNG library - runtime (version 1.6) ii libpython-stdlib 2.7.14-4 amd64 interactive high-level object-oriented ii libpython2.7-min 2.7.14-6 amd64 Minimal subset of the Python language ii libpython2.7-std 2.7.14-6 amd64 Interactive high-level object-oriented ii libpython3-dev:a 3.6.4-1 amd64 header files and a static library for ii libpython3-stdli 3.6.4-1 amd64 interactive high-level object-oriented ii libpython3.6:amd 3.6.4-4 amd64 Shared Python runtime library (version ii libpython3.6-dev 3.6.4-4 amd64 Header files and a static library for ii libpython3.6-min 3.6.4-4 amd64 Minimal subset of the Python language ii libpython3.6-std 3.6.4-4 amd64 Interactive high-level object-oriented ii libquadmath0:amd 8-20180218-1 amd64 GCC Quad-Precision Math Library ii libreadline7:amd 7.0-3 amd64 GNU readline and history libraries, ru ii libsasl2-2:amd64 2.1.27~101-g0 amd64 Cyrus SASL - authentication abstractio ii libsasl2-modules 2.1.27~101-g0 amd64 Cyrus SASL - pluggable authentication ii libsasl2-modules 2.1.27~101-g0 amd64 Cyrus SASL - pluggable authentication ii libselinux1:amd6 2.6-3+b3 amd64 SELinux runtime shared libraries ii libsemanage-comm 2.6-2 all Common files for SELinux policy manage ii libsemanage1:amd 2.6-2 amd64 SELinux policy management library ii libsepol1:amd64 2.6-2 amd64 SELinux library for manipulating binar ii libsmartcols1:am 2.29.2-1+deb9 amd64 smart column output alignment library ii libsnappy1v5:amd 1.1.7-1 amd64 fast compression/decompression library ii libsodium23:amd6 1.0.16-2 amd64 Network communication, cryptography an ii libsqlite3-0:amd 3.22.0-1 amd64 SQLite 3 shared library ii libss2:amd64 1.43.4-2 amd64 command-line interface parsing library ii libssl1.1:amd64 1.1.0g-2 amd64 Secure Sockets Layer toolkit - shared ii libstdc++-7-dev: 7.3.0-5 amd64 GNU Standard C++ Library v3 (developme ii libstdc++6:amd64 8-20180218-1 amd64 GNU Standard C++ Library v3 ii libsuitesparseco 1:5.1.2-2 amd64 configuration routines for all SuiteSp ii libsystemd0:amd6 232-25+deb9u1 amd64 systemd utility library ii libsz2:amd64 1.0.2-1 amd64 Adaptive Entropy Coding library - SZIP ii libtasn1-6:amd64 4.13-2 amd64 Manage ASN.1 structures (runtime) ii libtcl8.6:amd64 8.6.8+dfsg-3 amd64 Tcl (the Tool Command Language) v8.6 - ii libtiff5:amd64 4.0.9-4 amd64 Tag Image File Format (TIFF) library ii libtinfo5:amd64 6.0+20161126- amd64 shared low-level terminfo library for ii libtk8.6:amd64 8.6.8-3 amd64 Tk toolkit for Tcl and X11 v8.6 - run- ii libtsan0:amd64 8-20180218-1 amd64 ThreadSanitizer -- a Valgrind-based de ii libubsan0:amd64 7.3.0-5 amd64 UBSan -- undefined behaviour sanitizer ii libudev1:amd64 232-25+deb9u1 amd64 libudev shared library ii libumfpack5:amd6 1:5.1.2-2 amd64 sparse LU factorization library ii libunistring2:am 0.9.8-1 amd64 Unicode string library for C ii libustr-1.0-1:am 1.0.4-6 amd64 Micro string library: shared library ii libuuid1:amd64 2.29.2-1+deb9 amd64 Universally Unique ID library ii libwebp6:amd64 0.6.1-2 amd64 Lossy compression of digital photograp ii libwebpdemux2:am 0.6.1-2 amd64 Lossy compression of digital photograp ii libwebpmux3:amd6 0.6.1-2 amd64 Lossy compression of digital photograp ii libx11-6:amd64 2:1.6.4-3 amd64 X11 client-side library ii libx11-data 2:1.6.4-3 all X11 client-side library ii libxau6:amd64 1:1.0.8-1+b2 amd64 X11 authorisation library ii libxcb1:amd64 1.12-1 amd64 X C Binding ii libxdmcp6:amd64 1:1.1.2-3 amd64 X11 Display Manager Control Protocol l ii libxext6:amd64 2:1.3.3-1+b2 amd64 X11 miscellaneous extension library ii libxft2:amd64 2.3.2-1+b2 amd64 FreeType-based font drawing library fo ii libxml2:amd64 2.9.4+dfsg1-6 amd64 GNOME XML library ii libxrender1:amd6 1:0.9.10-1 amd64 X Rendering Extension client library ii libxslt1.1:amd64 1.1.29-5 amd64 XSLT 1.0 processing library - runtime ii libxss1:amd64 1:1.2.2-1+b2 amd64 X11 Screen Saver extension library ii libyaml-0-2:amd6 0.1.7-2 amd64 Fast YAML 1.1 parser and emitter libra ii libzmq5:amd64 4.2.3-1+b1 amd64 lightweight messaging kernel (shared l ii libzstd1 1.3.3+dfsg-1 amd64 fast lossless compression algorithm ii linux-libc-dev:a 4.15.4-1 amd64 Linux support headers for userspace de ii login 1:4.4-4.1 amd64 system login tools ii lsb-base 9.20161125 all Linux Standard Base init script functi ii make 4.1-9.1 amd64 utility for directing compilation ii manpages 4.15-1 all Manual pages about using a GNU/Linux s ii manpages-dev 4.15-1 all Manual pages about using GNU/Linux for ii mawk 1.3.3-17+b3 amd64 a pattern scanning and text processing ii mime-support 3.60 all MIME files 'mime.types' & 'mailcap', a ii mount 2.29.2-1+deb9 amd64 tools for mounting and manipulating fi ii multiarch-suppor 2.24-11+deb9u amd64 Transitional package to ensure multiar ii ncurses-base 6.0+20161126- all basic terminal type definitions ii ncurses-bin 6.0+20161126- amd64 terminal-related programs and man page ii netbase 5.4 all Basic TCP/IP networking system ii openssl 1.1.0g-2 amd64 Secure Sockets Layer toolkit - cryptog ii pandoc 1.19.2.4~dfsg amd64 general markup converter ii pandoc-data 1.19.2.4~dfsg all general markup converter - data files ii passwd 1:4.4-4.1 amd64 change and administer password and gro ii patch 2.7.6-1 amd64 Apply a diff file to an original ii perl 5.26.1-5 amd64 Larry Wall's Practical Extraction and ii perl-base 5.26.1-5 amd64 minimal Perl system ii perl-modules-5.2 5.26.1-5 all Core Perl modules ii pinentry-curses 1.1.0-1 amd64 curses-based PIN or pass-phrase entry ii python 2.7.14-4 amd64 interactive high-level object-oriented ii python-matplotli 2.1.1-2 all Python based plotting system (data pac ii python-minimal 2.7.14-4 amd64 minimal subset of the Python language ii python-pip-whl 9.0.1-2 all Python package installer ii python-tables-da 3.4.2-4 all hierarchical database for Python based ii python2.7 2.7.14-6 amd64 Interactive high-level object-oriented ii python2.7-minima 2.7.14-6 amd64 Minimal subset of the Python language ii python3 3.6.4-1 amd64 interactive high-level object-oriented ii python3-asn1cryp 0.24.0-1 all Fast ASN.1 parser and serializer (Pyth ii python3-bleach 2.1.3-1 all whitelist-based HTML-sanitizing librar ii python3-bs4 4.6.0-1 all error-tolerant HTML parser for Python ii python3-cffi-bac 1.11.5-1 amd64 Foreign Function Interface for Python ii python3-chardet 3.0.4-1 all universal character encoding detector ii python3-crypto 2.6.1-8 amd64 cryptographic algorithms and protocols ii python3-cryptogr 2.1.4-1 amd64 Python library exposing cryptographic ii python3-cvxopt 1.1.9+dfsg-2+ amd64 Python3 package for convex optimizatio ii python3-cycler 0.10.0-1 all composable kwarg iterator (Python 3) ii python3-dateutil 2.6.1-1 all powerful extensions to the standard Py ii python3-dbus 1.2.6-1 amd64 simple interprocess messaging system ( ii python3-decorato 4.1.2-1 all simplify usage of Python decorators by ii python3-dev 3.6.4-1 amd64 header files and a static library for ii python3-distutil 3.6.4-4 all distutils package for Python 3.x ii python3-entrypoi 0.2.3-1 all Discover and load entry points from in ii python3-gi 3.26.1-2 amd64 Python 3 bindings for gobject-introspe ii python3-html5lib 0.999999999-1 all HTML parser/tokenizer based on the WHA ii python3-idna 2.6-1 all Python IDNA2008 (RFC 5891) handling (P ii python3-ipykerne 4.8.2-2 all IPython kernel for Jupyter (Python 3) ii python3-ipython 5.5.0-1 all Enhanced interactive Python shell (Pyt ii python3-ipython- 0.2.0-1 all IPython vestigial utilities for Python ii python3-jinja2 2.10-1 all small but fast and easy to use stand-a ii python3-joblib 0.11-1 all tools to provide lightweight pipelinin ii python3-jsonsche 2.6.0-2 all An(other) implementation of JSON Schem ii python3-jupyter- 5.2.2-1 all Jupyter protocol client APIs (Python 3 ii python3-jupyter- 4.4.0-2 all Core common functionality of Jupyter p ii python3-keyring 10.6.0-1 all store and access your passwords safely ii python3-keyrings 3.0-1 all alternate backend implementations for ii python3-lib2to3 3.6.4-4 all Interactive high-level object-oriented ii python3-lxml 4.1.0-1 amd64 pythonic binding for the libxml2 and l ii python3-markupsa 1.0-1+b1 amd64 HTML/XHTML/XML string library for Pyth ii python3-matplotl 2.1.1-2 amd64 Python based plotting system in a styl ii python3-minimal 3.6.4-1 amd64 minimal subset of the Python language ii python3-mistune 0.8.3-2 all Markdown parser for Python 3 ii python3-nbconver 5.3.1-1 all Jupyter notebook conversion (Python 3) ii python3-nbformat 4.4.0-1 all Jupyter notebook format (Python 3) ii python3-numexpr 2.6.4-1 amd64 Fast numerical array expression evalua ii python3-numpy 1:1.13.3-2 amd64 Fast array facility to the Python 3 la ii python3-olefile 0.45.1-1 all Python module to read/write MS OLE2 fi ii python3-pandas 0.20.3-11 all data structures for "relational" or "l ii python3-pandas-l 0.20.3-11 amd64 low-level implementations and bindings ii python3-pandocfi 1.4.2-1 all python3 bindings for Pandoc's filters ii python3-patsy 0.4.1+git34-g all statistical models in Python using sym ii python3-pexpect 4.2.1-1 all Python 3 module for automating interac ii python3-picklesh 0.7.4-2 all File system based database that uses P ii python3-pil:amd6 4.3.0-2 amd64 Python Imaging Library (Python3) ii python3-pip 9.0.1-2 all Python package installer ii python3-pkg-reso 38.4.0-1 all Package Discovery and Resource Access ii python3-prompt-t 1.0.15-1 all library for building interactive comma ii python3-ptyproce 0.5.2-1 all Run a subprocess in a pseudo terminal ii python3-py 1.5.2-1 all Advanced Python development support li ii python3-pygments 2.2.0+dfsg-1 all syntax highlighting package written in ii python3-pyparsin 2.2.0+dfsg1-2 all alternative to creating and executing ii python3-pytest 3.2.5-2 all Simple, powerful testing in Python3 ii python3-scipy 0.19.1-2 amd64 scientific tools for Python 3 ii python3-secretst 2.3.1-2 all Python module for storing secrets - Py ii python3-setuptoo 38.4.0-1 all Python3 Distutils Enhancements ii python3-simplege 0.8.1-1 all simple generic functions for Python3 ii python3-simplejs 3.13.2-1 amd64 simple, fast, extensible JSON encoder/ ii python3-six 1.11.0-2 all Python 2 and 3 compatibility library ( ii python3-statsmod 0.8.0-6 all Python3 module for the estimation of s ii python3-statsmod 0.8.0-6 amd64 Python3 low-level implementations and ii python3-tables 3.4.2-4 all hierarchical database for Python3 base ii python3-tables-l 3.4.2-4 amd64 hierarchical database for Python3 base ii python3-testpath 0.3.1+dfsg-3 all Utilities for Python 3 code working wi ii python3-tk:amd64 3.6.4-4 amd64 Tkinter - Writing Tk applications with ii python3-tornado 4.5.3-1 amd64 scalable, non-blocking web server and ii python3-traitlet 4.3.2-1 all Lightweight Traits-like package for Py ii python3-tz 2018.3-2 all Python3 version of the Olson timezone ii python3-wcwidth 0.1.7+dfsg1-1 all determine printable width of a string ii python3-webencod 0.5-2 all Python implementation of the WHATWG En ii python3-wheel 0.30.0-0.2 all built-package format for Python ii python3-xdg 0.25-4 all Python 3 library to access freedesktop ii python3-zmq 16.0.2-2+b1 amd64 Python3 bindings for 0MQ library ii python3.6 3.6.4-4 amd64 Interactive high-level object-oriented ii python3.6-dev 3.6.4-4 amd64 Header files and a static library for ii python3.6-minima 3.6.4-4 amd64 Minimal subset of the Python language ii readline-common 7.0-3 all GNU readline and history libraries, co ii sed 4.4-1 amd64 GNU stream editor for filtering/transf ii sensible-utils 0.0.9+deb9u1 all Utilities for sensible alternative sel ii shared-mime-info 1.9-2 amd64 FreeDesktop.org shared MIME database a ii sysvinit-utils 2.88dsf-59.9 amd64 System-V-like utilities ii tar 1.29b-1.1 amd64 GNU version of the tar archiving utili ii tk8.6-blt2.5 2.5.3+dfsg-4 amd64 graphics extension library for Tcl/Tk ii ttf-bitstream-ve 1.10-8 all The Bitstream Vera family of free True ii tzdata 2019a-0+deb9u all time zone and daylight-saving time dat ii ucf 3.0038 all Update Configuration File(s): preserve ii util-linux 2.29.2-1+deb9 amd64 miscellaneous system utilities ii x11-common 1:7.7+19 all X Window System (X.Org) infrastructure ii xdg-user-dirs 0.16-1 amd64 tool to manage well known user directo ii xz-utils 5.2.2-1.3 amd64 XZ-format compression utilities ii zlib1g:amd64 1:1.2.8.dfsg- amd64 compression library - runtime #+end_example #+begin_src shell :results output :exports both docker ps #+end_src #+RESULTS: : CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES : 3e302c4c2ed7 debian:stretch-20190708-slim "bash" 7 hours ago Up 7 hours dazzling_nobel : 71cd67954552 alegrand38/moocrr_jupyter "bash" 29 hours ago Up 29 hours nervous_shaw #+begin_src shell :results output :exports both docker commit 3e302c4c2ed7 debian_stretch_20180310_python3_statsmodels #+end_src #+RESULTS: : sha256:e86b1c50e7a8896bb44686f827a85d5375d192560e25ad2a1533cde7dfac8b1a * Ressources ** Rstudio https://hub.docker.com/r/rocker/rstudio/ ** Emacs https://github.com/JAremko/docker-emacs https://hub.docker.com/r/jare/emacs #+begin_src shell :results output :exports both docker run -ti -v /tmp/.X11-unix:/tmp/.X11-unix:ro -e DISPLAY="unix$DISPLAY" -e UNAME="alegrand" -e GNAME="alegrand" -e UID="1000" -e GID="1000" -v ~/Work/Documents/Enseignements/RR_MOOC/gitlab-inria/mooc-rr-ressources/module2/ressources/rr_org:/home/emacs/.emacs.d -v /tmp/:/mnt/workspace jare/emacs emacs #+end_src #+RESULTS: ** Docker for windows https://docs.docker.com/docker-for-windows/