# -*- 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:
: [0m[01;36m/usr/bin/X11//python3[0m
: 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_docker[01;32micarus[00m:[01;34m~/Work/Documents/Enseignements/RR_MOOC/gitlab-inria/mooc-rr-ressources/module4/ressources/mooc_docker[00m$ -- 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]
[91mdebconf: delaying package configuration, since apt-utils is not installed
[0mFetched 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
:
: [1A[2K
0a4690c5d889: Pulling fs layer
[1B[1A[2K
0a4690c5d889: Downloading 228.5kB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 457.5kB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 695kB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 920.3kB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 1.15MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 1.379MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 1.617MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 1.85MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 2.079MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 2.309MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 2.538MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 2.768MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 2.997MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 3.226MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 3.456MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 3.685MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 3.919MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 4.148MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 4.373MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 4.603MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 4.832MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 5.061MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 5.291MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 5.524MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 5.754MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 5.991MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 6.221MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 6.45MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 6.675MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 6.905MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 7.134MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 7.372MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 7.601MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 7.826MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 8.06MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 8.289MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 8.518MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 8.748MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 8.973MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 9.202MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 9.432MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 9.665MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 9.891MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 10.12MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 10.35MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 10.58MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 10.82MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 11.05MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 11.27MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 11.5MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 11.73MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 11.96MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 12.19MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 12.42MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 12.65MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 12.88MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 13.11MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 13.34MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 13.57MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 13.8MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 14.03MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 14.26MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 14.49MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 14.72MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 14.95MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 15.17MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 15.4MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 15.63MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 15.86MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 16.1MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 16.33MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 16.56MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 16.79MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 17.02MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 17.25MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 17.48MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 17.71MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 17.94MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 18.17MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 18.39MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 18.62MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 18.85MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 19.08MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 19.31MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 19.54MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 19.77MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 20MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 20.22MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 20.45MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 20.68MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 20.91MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 21.14MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 21.37MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 21.6MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 21.83MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 22.06MB/22.49MB
[1B[1A[2K
0a4690c5d889: Downloading 22.29MB/22.49MB
[1B[1A[2K
0a4690c5d889: Verifying Checksum
[1B[1A[2K
0a4690c5d889: Download complete
[1B[1A[2K
0a4690c5d889: Extracting 229.4kB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 2.523MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 5.505MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 8.258MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 8.946MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 11.24MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 13.53MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 14.45MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 15.83MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 17.89MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 19.73MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 20.19MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 21.33MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 21.79MB/22.49MB
[1B[1A[2K
0a4690c5d889: Extracting 22.49MB/22.49MB
[1B[1A[2K
0a4690c5d889: Pull complete
[1BDigest: 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/