betatim / notebook-as-pdf

Save Jupyter Notebooks as PDF
BSD 3-Clause "New" or "Revised" License
368 stars 72 forks source link

Failure in gitlab CI #9

Closed adavidzh closed 4 years ago

adavidzh commented 4 years ago

I am really excited for this extension, since it would allow a much leaner docker image in my CI runners.

The runner configuration is pretty simple:

image: python:latest

build:
  stage: build
  script:
    - pip install --no-cache-dir -r requirements.txt
    - jupyter nbconvert --to PDFviaHTML --execute example.ipynb

and of course, notebook-as-pdf is part of requirements.txt.

So I took it for a spin, but it was not a happy camper:

$ jupyter nbconvert --to PDFviaHTML --execute example.ipynb
 [NbConvertApp] Converting notebook example.ipynb to PDFviaHTML
 [NbConvertApp] Executing notebook with kernel: python3
 [NbConvertApp] Executing notebook with kernel: python3
 [W:pyppeteer.chromium_downloader] start chromium download.
 Download may take a few minutes.
 100%|██████████| 108773488/108773488 [00:01<00:00, 105172481.75it/s]
 [W:pyppeteer.chromium_downloader] 
 chromium download done.
 [W:pyppeteer.chromium_downloader] chromium extracted to: /root/.local/share/pyppeteer/local-chromium/588429
 Traceback (most recent call last):
<snip>
 Traceback (most recent call last):
   File "/usr/local/lib/python3.8/site-packages/pyppeteer/launcher.py", line 151, in _close_process
     self._loop.run_until_complete(self.killChrome())
   File "/usr/local/lib/python3.8/asyncio/base_events.py", line 591, in run_until_complete
     self._check_closed()
   File "/usr/local/lib/python3.8/asyncio/base_events.py", line 508, in _check_closed
     raise RuntimeError('Event loop is closed')
 RuntimeError: Event loop is closed
 sys:1: RuntimeWarning: coroutine 'Launcher.killChrome' was never awaited
 RuntimeWarning: Enable tracemalloc to get the object allocation traceback

I'm wondering if my requirements.txt needs something else (why is chromium installed on demand?) but instead of blindly trying things out, I thought I should report it first.

Click to toggle the full log. ```console Running with gitlab-runner 13.0.1 (21cb397c) on default-runner-7f9b6f57bc-t25l7 JXQu29S9 Preparing the "docker" executor 00:06 Using Docker executor with image python:latest ... WARNING: Container based cache volumes creation is disabled. Will not create volume for "/cache" Pulling docker image python:latest ... Using docker image sha256:7f5b6ccd03e9da5e02a20ea4377ae61f6ae1b935b05c1bd52fdafe4b958b5e50 for python:latest ... Preparing environment 00:02 Running on runner-jxqu29s9-project-94480-concurrent-0 via default-runner-7f9b6f57bc-t25l7... Getting source from Git repository 00:02 Fetching changes with git depth set to 50... Initialized empty Git repository in /builds/adavid/mylittlelark/.git/ Created fresh repository. From https://gitlab.cern.ch/adavid/mylittlelark * [new ref] refs/pipelines/1751602 -> refs/pipelines/1751602 * [new branch] master -> origin/master Checking out 48add964 as master... Skipping Git submodules setup Restoring cache 00:01 Downloading artifacts 00:02 Running before_script and script 01:23 $ pip install --no-cache-dir -r requirements.txt Collecting jupyter Downloading jupyter-1.0.0-py2.py3-none-any.whl (2.7 kB) Collecting pympler Downloading Pympler-0.8.tar.gz (175 kB) Collecting lark-parser Downloading lark-parser-0.8.9.tar.gz (294 kB) Collecting tqdm Downloading tqdm-4.46.1-py2.py3-none-any.whl (63 kB) Collecting tables Downloading tables-3.6.1-cp38-cp38-manylinux1_x86_64.whl (4.3 MB) Collecting notebook-as-pdf Downloading notebook_as_pdf-0.2.0-py3-none-any.whl (5.2 kB) Collecting ipywidgets Downloading ipywidgets-7.5.1-py2.py3-none-any.whl (121 kB) Collecting nbconvert Downloading nbconvert-5.6.1-py2.py3-none-any.whl (455 kB) Collecting jupyter-console Downloading jupyter_console-6.1.0-py2.py3-none-any.whl (21 kB) Collecting ipykernel Downloading ipykernel-5.3.0-py3-none-any.whl (119 kB) Collecting notebook Downloading notebook-6.0.3-py3-none-any.whl (9.7 MB) Collecting qtconsole Downloading qtconsole-4.7.5-py2.py3-none-any.whl (118 kB) Collecting numexpr>=2.6.2 Downloading numexpr-2.7.1-cp38-cp38-manylinux1_x86_64.whl (164 kB) Collecting numpy>=1.9.3 Downloading numpy-1.19.0-cp38-cp38-manylinux2010_x86_64.whl (14.6 MB) Collecting pyppeteer Downloading pyppeteer-0.2.2-py3-none-any.whl (145 kB) Collecting PyPDF2 Downloading PyPDF2-1.26.0.tar.gz (77 kB) Collecting widgetsnbextension~=3.5.0 Downloading widgetsnbextension-3.5.1-py2.py3-none-any.whl (2.2 MB) Collecting ipython>=4.0.0; python_version >= "3.3" Downloading ipython-7.16.1-py3-none-any.whl (785 kB) Collecting traitlets>=4.3.1 Downloading traitlets-4.3.3-py2.py3-none-any.whl (75 kB) Collecting nbformat>=4.2.0 Downloading nbformat-5.0.7-py3-none-any.whl (170 kB) Collecting defusedxml Downloading defusedxml-0.6.0-py2.py3-none-any.whl (23 kB) Collecting pygments Downloading Pygments-2.6.1-py3-none-any.whl (914 kB) Collecting jupyter-core Downloading jupyter_core-4.6.3-py2.py3-none-any.whl (83 kB) Collecting entrypoints>=0.2.2 Downloading entrypoints-0.3-py2.py3-none-any.whl (11 kB) Collecting pandocfilters>=1.4.1 Downloading pandocfilters-1.4.2.tar.gz (14 kB) Collecting mistune<2,>=0.8.1 Downloading mistune-0.8.4-py2.py3-none-any.whl (16 kB) Collecting jinja2>=2.4 Downloading Jinja2-2.11.2-py2.py3-none-any.whl (125 kB) Collecting testpath Downloading testpath-0.4.4-py2.py3-none-any.whl (163 kB) Collecting bleach Downloading bleach-3.1.5-py2.py3-none-any.whl (151 kB) Collecting jupyter-client Downloading jupyter_client-6.1.3-py3-none-any.whl (106 kB) Collecting prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 Downloading prompt_toolkit-3.0.5-py3-none-any.whl (351 kB) Collecting tornado>=4.2 Downloading tornado-6.0.4.tar.gz (496 kB) Collecting pyzmq>=17 Downloading pyzmq-19.0.1-cp38-cp38-manylinux1_x86_64.whl (1.1 MB) Collecting prometheus-client Downloading prometheus_client-0.8.0-py2.py3-none-any.whl (53 kB) Collecting Send2Trash Downloading Send2Trash-1.5.0-py3-none-any.whl (12 kB) Collecting terminado>=0.8.1 Downloading terminado-0.8.3-py2.py3-none-any.whl (33 kB) Collecting ipython-genutils Downloading ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB) Collecting qtpy Downloading QtPy-1.9.0-py2.py3-none-any.whl (54 kB) Collecting appdirs<2.0.0,>=1.4.3 Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) Collecting urllib3<2.0.0,>=1.25.8 Downloading urllib3-1.25.9-py2.py3-none-any.whl (126 kB) Collecting websockets<9.0,>=8.1 Downloading websockets-8.1-cp38-cp38-manylinux2010_x86_64.whl (78 kB) Collecting pyee<8.0.0,>=7.0.1 Downloading pyee-7.0.2-py2.py3-none-any.whl (12 kB) Collecting jedi>=0.10 Downloading jedi-0.17.1-py2.py3-none-any.whl (1.4 MB) Collecting pexpect; sys_platform != "win32" Downloading pexpect-4.8.0-py2.py3-none-any.whl (59 kB) Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.8/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets->jupyter->-r requirements.txt (line 1)) (47.1.1) Collecting pickleshare Downloading pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB) Collecting backcall Downloading backcall-0.2.0-py2.py3-none-any.whl (11 kB) Collecting decorator Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB) Collecting six Downloading six-1.15.0-py2.py3-none-any.whl (10 kB) Collecting jsonschema!=2.5.0,>=2.4 Downloading jsonschema-3.2.0-py2.py3-none-any.whl (56 kB) Collecting MarkupSafe>=0.23 Downloading MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl (32 kB) Collecting packaging Downloading packaging-20.4-py2.py3-none-any.whl (37 kB) Collecting webencodings Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB) Collecting python-dateutil>=2.1 Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB) Collecting wcwidth Downloading wcwidth-0.2.5-py2.py3-none-any.whl (30 kB) Collecting ptyprocess; os_name != "nt" Downloading ptyprocess-0.6.0-py2.py3-none-any.whl (39 kB) Collecting parso<0.8.0,>=0.7.0 Downloading parso-0.7.0-py2.py3-none-any.whl (100 kB) Collecting pyrsistent>=0.14.0 Downloading pyrsistent-0.16.0.tar.gz (108 kB) Collecting attrs>=17.4.0 Downloading attrs-19.3.0-py2.py3-none-any.whl (39 kB) Collecting pyparsing>=2.0.2 Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB) Building wheels for collected packages: pympler, lark-parser, PyPDF2, pandocfilters, tornado, pyrsistent Building wheel for pympler (setup.py): started Building wheel for pympler (setup.py): finished with status 'done' Created wheel for pympler: filename=Pympler-0.8-py3-none-any.whl size=164713 sha256=3e8ab23edf19d99c51f5b7a9a1bf74ebbb9f947a6d9ebade2ff8c0a7ad75083f Stored in directory: /tmp/pip-ephem-wheel-cache-pivp50fy/wheels/2c/09/38/7c8c5dc224099d3a7194d154a99093d429bb4bda18c241c4b5 Building wheel for lark-parser (setup.py): started Building wheel for lark-parser (setup.py): finished with status 'done' Created wheel for lark-parser: filename=lark_parser-0.8.9-py2.py3-none-any.whl size=75357 sha256=990a32661454b7b77d1df1858328ea40daa9bac5ce84bebc0be6cb43a5246b33 Stored in directory: /tmp/pip-ephem-wheel-cache-pivp50fy/wheels/5c/55/8c/91a8363366ada1c946e50d5c030e63129a2d8f3120e1975997 Building wheel for PyPDF2 (setup.py): started Building wheel for PyPDF2 (setup.py): finished with status 'done' Created wheel for PyPDF2: filename=PyPDF2-1.26.0-py3-none-any.whl size=61084 sha256=b1f7402d283104baebace712c6dd94abb940019a8acd38feaf5903eb11954f19 Stored in directory: /tmp/pip-ephem-wheel-cache-pivp50fy/wheels/b1/1a/8f/a4c34be976825a2f7948d0fa40907598d69834f8ab5889de11 Building wheel for pandocfilters (setup.py): started Building wheel for pandocfilters (setup.py): finished with status 'done' Created wheel for pandocfilters: filename=pandocfilters-1.4.2-py3-none-any.whl size=7856 sha256=75791b53889332212a9cbf41d5ba54a30932ae76bec3902bc753298f58305841 Stored in directory: /tmp/pip-ephem-wheel-cache-pivp50fy/wheels/f6/08/65/e4636b703d0e870cd62692dafd6b47db27287fe80cea433722 Building wheel for tornado (setup.py): started Building wheel for tornado (setup.py): finished with status 'done' Created wheel for tornado: filename=tornado-6.0.4-cp38-cp38-linux_x86_64.whl size=427821 sha256=978cecc354d37b4422e9f08fe5949afad94728628d849b74d1c6870ac25c0171 Stored in directory: /tmp/pip-ephem-wheel-cache-pivp50fy/wheels/88/79/e5/598ba17e85eccf2626eab62e4ee8452895636cd542650d450d Building wheel for pyrsistent (setup.py): started Building wheel for pyrsistent (setup.py): finished with status 'done' Created wheel for pyrsistent: filename=pyrsistent-0.16.0-cp38-cp38-linux_x86_64.whl size=126675 sha256=87e75b33c767b74b59c2ae526d335a2be64aab5cf3b983c519171a6aaceff172 Stored in directory: /tmp/pip-ephem-wheel-cache-pivp50fy/wheels/17/be/0f/727fb20889ada6aaaaba861f5f0eb21663533915429ad43f28 Successfully built pympler lark-parser PyPDF2 pandocfilters tornado pyrsistent Installing collected packages: six, python-dateutil, tornado, ipython-genutils, decorator, traitlets, jupyter-core, pyzmq, jupyter-client, MarkupSafe, jinja2, defusedxml, pygments, entrypoints, pandocfilters, mistune, testpath, pyrsistent, attrs, jsonschema, nbformat, pyparsing, packaging, webencodings, bleach, nbconvert, parso, jedi, ptyprocess, pexpect, pickleshare, backcall, wcwidth, prompt-toolkit, ipython, ipykernel, prometheus-client, Send2Trash, terminado, notebook, widgetsnbextension, ipywidgets, jupyter-console, qtpy, qtconsole, jupyter, pympler, lark-parser, tqdm, numpy, numexpr, tables, appdirs, urllib3, websockets, pyee, pyppeteer, PyPDF2, notebook-as-pdf Successfully installed MarkupSafe-1.1.1 PyPDF2-1.26.0 Send2Trash-1.5.0 appdirs-1.4.4 attrs-19.3.0 backcall-0.2.0 bleach-3.1.5 decorator-4.4.2 defusedxml-0.6.0 entrypoints-0.3 ipykernel-5.3.0 ipython-7.16.1 ipython-genutils-0.2.0 ipywidgets-7.5.1 jedi-0.17.1 jinja2-2.11.2 jsonschema-3.2.0 jupyter-1.0.0 jupyter-client-6.1.3 jupyter-console-6.1.0 jupyter-core-4.6.3 lark-parser-0.8.9 mistune-0.8.4 nbconvert-5.6.1 nbformat-5.0.7 notebook-6.0.3 notebook-as-pdf-0.2.0 numexpr-2.7.1 numpy-1.19.0 packaging-20.4 pandocfilters-1.4.2 parso-0.7.0 pexpect-4.8.0 pickleshare-0.7.5 prometheus-client-0.8.0 prompt-toolkit-3.0.5 ptyprocess-0.6.0 pyee-7.0.2 pygments-2.6.1 pympler-0.8 pyparsing-2.4.7 pyppeteer-0.2.2 pyrsistent-0.16.0 python-dateutil-2.8.1 pyzmq-19.0.1 qtconsole-4.7.5 qtpy-1.9.0 six-1.15.0 tables-3.6.1 terminado-0.8.3 testpath-0.4.4 tornado-6.0.4 tqdm-4.46.1 traitlets-4.3.3 urllib3-1.25.9 wcwidth-0.2.5 webencodings-0.5.1 websockets-8.1 widgetsnbextension-3.5.1 $ jupyter nbconvert --to html --execute example.ipynb [NbConvertApp] Converting notebook example.ipynb to html [NbConvertApp] Executing notebook with kernel: python3 [NbConvertApp] Writing 342781 bytes to example.html $ jupyter nbconvert --to PDFviaHTML --execute example.ipynb [NbConvertApp] Converting notebook example.ipynb to PDFviaHTML [NbConvertApp] Executing notebook with kernel: python3 [NbConvertApp] Executing notebook with kernel: python3 [W:pyppeteer.chromium_downloader] start chromium download. Download may take a few minutes. 100%|██████████| 108773488/108773488 [00:01<00:00, 105172481.75it/s] [W:pyppeteer.chromium_downloader] chromium download done. [W:pyppeteer.chromium_downloader] chromium extracted to: /root/.local/share/pyppeteer/local-chromium/588429 Traceback (most recent call last): File "/usr/local/bin/jupyter-nbconvert", line 8, in sys.exit(main()) File "/usr/local/lib/python3.8/site-packages/jupyter_core/application.py", line 270, in launch_instance return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs) File "/usr/local/lib/python3.8/site-packages/traitlets/config/application.py", line 664, in launch_instance app.start() File "/usr/local/lib/python3.8/site-packages/nbconvert/nbconvertapp.py", line 340, in start self.convert_notebooks() File "/usr/local/lib/python3.8/site-packages/nbconvert/nbconvertapp.py", line 510, in convert_notebooks self.convert_single_notebook(notebook_filename) File "/usr/local/lib/python3.8/site-packages/nbconvert/nbconvertapp.py", line 481, in convert_single_notebook output, resources = self.export_single_notebook(notebook_filename, resources, input_buffer=input_buffer) File "/usr/local/lib/python3.8/site-packages/nbconvert/nbconvertapp.py", line 410, in export_single_notebook output, resources = self.exporter.from_filename(notebook_filename, resources=resources) File "/usr/local/lib/python3.8/site-packages/nbconvert/exporters/exporter.py", line 179, in from_filename return self.from_file(f, resources=resources, **kw) File "/usr/local/lib/python3.8/site-packages/nbconvert/exporters/exporter.py", line 197, in from_file return self.from_notebook_node(nbformat.read(file_stream, as_version=4), resources=resources, **kw) File "/usr/local/lib/python3.8/site-packages/notebook_as_pdf/__init__.py", line 148, in from_notebook_node self.pool.submit( File "/usr/local/lib/python3.8/concurrent/futures/_base.py", line 439, in result return self.__get_result() File "/usr/local/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result raise self._exception File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.8/asyncio/runners.py", line 43, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete return future.result() File "/usr/local/lib/python3.8/site-packages/notebook_as_pdf/__init__.py", line 107, in notebook_to_pdf await html_to_pdf(f.name, pdf_path) File "/usr/local/lib/python3.8/site-packages/notebook_as_pdf/__init__.py", line 24, in html_to_pdf browser = await launch(handleSIGINT=False, handleSIGTERM=False, handleSIGHUP=False) File "/usr/local/lib/python3.8/site-packages/pyppeteer/launcher.py", line 305, in launch return await Launcher(options, **kwargs).launch() File "/usr/local/lib/python3.8/site-packages/pyppeteer/launcher.py", line 166, in launch self.browserWSEndpoint = get_ws_endpoint(self.url) File "/usr/local/lib/python3.8/site-packages/pyppeteer/launcher.py", line 225, in get_ws_endpoint raise BrowserError('Browser closed unexpectedly:\n') pyppeteer.errors.BrowserError: Browser closed unexpectedly: Error in atexit._run_exitfuncs: Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/pyppeteer/launcher.py", line 151, in _close_process self._loop.run_until_complete(self.killChrome()) File "/usr/local/lib/python3.8/asyncio/base_events.py", line 591, in run_until_complete self._check_closed() File "/usr/local/lib/python3.8/asyncio/base_events.py", line 508, in _check_closed raise RuntimeError('Event loop is closed') RuntimeError: Event loop is closed sys:1: RuntimeWarning: coroutine 'Launcher.killChrome' was never awaited RuntimeWarning: Enable tracemalloc to get the object allocation traceback Running after_script 00:02 Uploading artifacts for failed job 00:03 ERROR: Job failed: exit code 1 ```
betatim commented 4 years ago

Do you know which container image your runner is using (python:latest is what it says but what exactly does that correspond to in terms of OS and version?)?

My guess is that you need to install the APT packages listed in https://github.com/betatim/notebook-as-pdf/blob/master/binder/apt.txt as well. the packages listed there work on the current Ubuntu LTS version.

Chromium is installed on demand by pyppeteer thefirst time you use it. The conversion to PDF is done by chromium.

adavidzh commented 4 years ago

Do you know which container image your runner is using (python:latest is what it says but what exactly does that correspond to in terms of OS and version?)?

The relevant Dockerfile uses buildpack-deps:buster which, through some hoops, tracks back to debian:bullseye.

My guess is that you need to install the APT packages listed in https://github.com/betatim/notebook-as-pdf/blob/master/binder/apt.txt as well. the packages listed there work on the current Ubuntu LTS version.

So, AFAICT the following in .gitlab-ci.yml installs all the packages correctly:

    - apt-get update && apt-get install -y --no-install-recommends apt-utils
    - xargs -a apt.txt apt-get install -y

but there's still a pyppeteer.errors.BrowserError: Browser closed unexpectedly.

Click to toggle the full log. ```console Running with gitlab-runner 13.0.1 (21cb397c) on default-runner-7f9b6f57bc-gx47f FX16rjWh Preparing the "docker" executor Using Docker executor with image python:latest ... WARNING: Container based cache volumes creation is disabled. Will not create volume for "/cache" Pulling docker image python:latest ... Using docker image sha256:7f5b6ccd03e9da5e02a20ea4377ae61f6ae1b935b05c1bd52fdafe4b958b5e50 for python:latest ... Preparing environment 00:03 Running on runner-fx16rjwh-project-94480-concurrent-0 via default-runner-7f9b6f57bc-gx47f... Getting source from Git repository 00:02 Fetching changes with git depth set to 50... Initialized empty Git repository in /builds/adavid/mylittlelark/.git/ Created fresh repository. From https://gitlab.cern.ch/adavid/mylittlelark * [new ref] refs/pipelines/1754405 -> refs/pipelines/1754405 * [new branch] master -> origin/master Checking out 697bb730 as master... Skipping Git submodules setup Restoring cache 00:01 Downloading artifacts 00:02 Running before_script and script $ apt-get update && apt-get install -y --no-install-recommends apt-utils Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB] Get:2 http://deb.debian.org/debian buster InRelease [121 kB] Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB] Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [204 kB] Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7905 kB] Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [7868 B] Fetched 8355 kB in 2s (3718 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: libapt-inst2.0 The following NEW packages will be installed: apt-utils libapt-inst2.0 0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded. Need to get 624 kB of archives. After this operation, 1650 kB of additional disk space will be used. Get:1 http://security.debian.org/debian-security buster/updates/main amd64 libapt-inst2.0 amd64 1.8.2.1 [203 kB] Get:2 http://security.debian.org/debian-security buster/updates/main amd64 apt-utils amd64 1.8.2.1 [421 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 624 kB in 0s (6281 kB/s) Selecting previously unselected package libapt-inst2.0:amd64. (Reading database ... 24603 files and directories currently installed.) Preparing to unpack .../libapt-inst2.0_1.8.2.1_amd64.deb ... Unpacking libapt-inst2.0:amd64 (1.8.2.1) ... Selecting previously unselected package apt-utils. Preparing to unpack .../apt-utils_1.8.2.1_amd64.deb ... Unpacking apt-utils (1.8.2.1) ... Setting up libapt-inst2.0:amd64 (1.8.2.1) ... Setting up apt-utils (1.8.2.1) ... Processing triggers for libc-bin (2.28-10) ... $ xargs -a apt.txt apt-get install -y Reading package lists... Building dependency tree... Reading state information... libxss1 is already the newest version (1:1.2.3-1). libxss1 set to manually installed. libpangocairo-1.0-0 is already the newest version (1.42.4-8~deb10u1). libpangocairo-1.0-0 set to manually installed. The following additional packages will be installed: adwaita-icon-theme at-spi2-core dbus dbus-user-session dconf-gsettings-backend dconf-service dmsetup glib-networking glib-networking-common glib-networking-services gsettings-desktop-schemas gtk-update-icon-cache libapparmor1 libargon2-1 libasound2-data libatk1.0-data libatspi2.0-0 libavahi-client3 libavahi-common-data libavahi-common3 libcolord2 libcryptsetup12 libcups2 libdbus-1-3 libdconf1 libdevmapper1.02.1 libepoxy0 libgtk-3-bin libgtk-3-common libidn11 libip4tc0 libjson-c3 libjson-glib-1.0-0 libjson-glib-1.0-common libkmod2 libnspr4 libnss-systemd libpam-systemd libproxy1v5 librest-0.7-0 libsoup-gnome2.4-1 libsoup2.4-1 libwayland-client0 libwayland-cursor0 libwayland-egl1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 libxinerama1 libxkbcommon0 systemd systemd-sysv xkb-data Suggested packages: libasound2-plugins alsa-utils colord cups-common gvfs systemd-container policykit-1 The following NEW packages will be installed: adwaita-icon-theme at-spi2-core dbus dbus-user-session dconf-gsettings-backend dconf-service dmsetup glib-networking glib-networking-common glib-networking-services gsettings-desktop-schemas gtk-update-icon-cache libapparmor1 libargon2-1 libasound2 libasound2-data libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3 libavahi-common-data libavahi-common3 libcolord2 libcryptsetup12 libcups2 libdbus-1-3 libdconf1 libdevmapper1.02.1 libepoxy0 libgtk-3-0 libgtk-3-bin libgtk-3-common libidn11 libip4tc0 libjson-c3 libjson-glib-1.0-0 libjson-glib-1.0-common libkmod2 libnspr4 libnss-systemd libnss3 libpam-systemd libproxy1v5 librest-0.7-0 libsoup-gnome2.4-1 libsoup2.4-1 libwayland-client0 libwayland-cursor0 libwayland-egl1 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 libxinerama1 libxkbcommon0 libxrandr2 libxtst6 systemd systemd-sysv xkb-data 0 upgraded, 63 newly installed, 0 to remove and 1 not upgraded. Need to get 29.1 MB of archives. After this operation, 107 MB of additional disk space will be used. Get:1 http://deb.debian.org/debian buster/main amd64 libapparmor1 amd64 2.13.2-10 [94.7 kB] Get:2 http://deb.debian.org/debian buster/main amd64 libargon2-1 amd64 0~20171227-0.2 [19.6 kB] Get:3 http://deb.debian.org/debian buster/main amd64 dmsetup amd64 2:1.02.155-3 [90.8 kB] Get:4 http://deb.debian.org/debian buster/main amd64 libdevmapper1.02.1 amd64 2:1.02.155-3 [141 kB] Get:5 http://deb.debian.org/debian buster/main amd64 libjson-c3 amd64 0.12.1+ds-2 [26.9 kB] Get:6 http://deb.debian.org/debian buster/main amd64 libcryptsetup12 amd64 2:2.1.0-5+deb10u2 [193 kB] Get:7 http://deb.debian.org/debian buster/main amd64 libidn11 amd64 1.33-2.2 [116 kB] Get:8 http://deb.debian.org/debian buster/main amd64 libip4tc0 amd64 1.8.2-4 [70.2 kB] Get:9 http://deb.debian.org/debian buster/main amd64 libkmod2 amd64 26-1 [52.7 kB] Get:10 http://deb.debian.org/debian buster/main amd64 systemd amd64 241-7~deb10u4 [3499 kB] Get:11 http://deb.debian.org/debian buster/main amd64 systemd-sysv amd64 241-7~deb10u4 [99.9 kB] Get:12 http://deb.debian.org/debian buster/main amd64 libdbus-1-3 amd64 1.12.16-1 [214 kB] Get:13 http://deb.debian.org/debian buster/main amd64 dbus amd64 1.12.16-1 [235 kB] Get:14 http://deb.debian.org/debian buster/main amd64 libnss-systemd amd64 241-7~deb10u4 [205 kB] Get:15 http://deb.debian.org/debian buster/main amd64 libpam-systemd amd64 241-7~deb10u4 [209 kB] Get:16 http://deb.debian.org/debian buster/main amd64 gtk-update-icon-cache amd64 3.24.5-1 [81.7 kB] Get:17 http://deb.debian.org/debian buster/main amd64 adwaita-icon-theme all 3.30.1-1 [11.7 MB] Get:18 http://deb.debian.org/debian buster/main amd64 libatspi2.0-0 amd64 2.30.0-7 [65.0 kB] Get:19 http://deb.debian.org/debian buster/main amd64 libxi6 amd64 2:1.7.9-1 [82.6 kB] Get:20 http://deb.debian.org/debian buster/main amd64 libxtst6 amd64 2:1.2.3-1 [27.8 kB] Get:21 http://deb.debian.org/debian buster/main amd64 at-spi2-core amd64 2.30.0-7 [70.7 kB] Get:22 http://deb.debian.org/debian buster/main amd64 dbus-user-session amd64 1.12.16-1 [93.4 kB] Get:23 http://deb.debian.org/debian buster/main amd64 libdconf1 amd64 0.30.1-2 [40.7 kB] Get:24 http://deb.debian.org/debian buster/main amd64 dconf-service amd64 0.30.1-2 [36.4 kB] Get:25 http://deb.debian.org/debian buster/main amd64 dconf-gsettings-backend amd64 0.30.1-2 [28.9 kB] Get:26 http://deb.debian.org/debian buster/main amd64 libproxy1v5 amd64 0.4.15-5 [58.1 kB] Get:27 http://deb.debian.org/debian buster/main amd64 glib-networking-common all 2.58.0-2 [59.3 kB] Get:28 http://deb.debian.org/debian buster/main amd64 glib-networking-services amd64 2.58.0-2 [13.5 kB] Get:29 http://deb.debian.org/debian buster/main amd64 gsettings-desktop-schemas all 3.28.1-1 [529 kB] Get:30 http://deb.debian.org/debian buster/main amd64 glib-networking amd64 2.58.0-2 [54.4 kB] Get:31 http://deb.debian.org/debian buster/main amd64 libasound2-data all 1.1.8-1 [59.6 kB] Get:32 http://deb.debian.org/debian buster/main amd64 libasound2 amd64 1.1.8-1 [361 kB] Get:33 http://deb.debian.org/debian buster/main amd64 libatk1.0-data all 2.30.0-2 [145 kB] Get:34 http://deb.debian.org/debian buster/main amd64 libatk1.0-0 amd64 2.30.0-2 [50.6 kB] Get:35 http://deb.debian.org/debian buster/main amd64 libatk-bridge2.0-0 amd64 2.30.0-5 [61.6 kB] Get:36 http://deb.debian.org/debian buster/main amd64 libavahi-common-data amd64 0.7-4+b1 [122 kB] Get:37 http://deb.debian.org/debian buster/main amd64 libavahi-common3 amd64 0.7-4+b1 [54.6 kB] Get:38 http://deb.debian.org/debian buster/main amd64 libavahi-client3 amd64 0.7-4+b1 [58.1 kB] Get:39 http://deb.debian.org/debian buster/main amd64 libcolord2 amd64 1.4.3-4 [141 kB] Get:40 http://deb.debian.org/debian buster/main amd64 libcups2 amd64 2.2.10-6+deb10u3 [324 kB] Get:41 http://deb.debian.org/debian buster/main amd64 libepoxy0 amd64 1.5.3-0.1 [190 kB] Get:42 http://deb.debian.org/debian buster/main amd64 libjson-glib-1.0-common all 1.4.4-2 [52.3 kB] Get:43 http://deb.debian.org/debian buster/main amd64 libjson-glib-1.0-0 amd64 1.4.4-2 [61.2 kB] Get:44 http://deb.debian.org/debian buster/main amd64 libsoup2.4-1 amd64 2.64.2-2 [253 kB] Get:45 http://deb.debian.org/debian buster/main amd64 libsoup-gnome2.4-1 amd64 2.64.2-2 [18.0 kB] Get:46 http://deb.debian.org/debian buster/main amd64 librest-0.7-0 amd64 0.8.1-1 [33.7 kB] Get:47 http://deb.debian.org/debian buster/main amd64 libwayland-client0 amd64 1.16.0-1 [26.4 kB] Get:48 http://deb.debian.org/debian buster/main amd64 libwayland-cursor0 amd64 1.16.0-1 [14.1 kB] Get:49 http://deb.debian.org/debian buster/main amd64 libwayland-egl1 amd64 1.16.0-1 [8204 B] Get:50 http://deb.debian.org/debian buster/main amd64 libxcomposite1 amd64 1:0.4.4-2 [16.5 kB] Get:51 http://deb.debian.org/debian buster/main amd64 libxfixes3 amd64 1:5.0.3-1 [21.9 kB] Get:52 http://deb.debian.org/debian buster/main amd64 libxcursor1 amd64 1:1.1.15-2 [36.6 kB] Get:53 http://deb.debian.org/debian buster/main amd64 libxdamage1 amd64 1:1.1.4-3+b3 [14.9 kB] Get:54 http://deb.debian.org/debian buster/main amd64 libxinerama1 amd64 2:1.1.4-2 [17.7 kB] Get:55 http://deb.debian.org/debian buster/main amd64 xkb-data all 2.26-2 [681 kB] Get:56 http://deb.debian.org/debian buster/main amd64 libxkbcommon0 amd64 0.8.2-1 [123 kB] Get:57 http://deb.debian.org/debian buster/main amd64 libxrandr2 amd64 2:1.5.1-1 [37.5 kB] Get:58 http://deb.debian.org/debian buster/main amd64 libgtk-3-common all 3.24.5-1 [3678 kB] Get:59 http://deb.debian.org/debian buster/main amd64 libgtk-3-0 amd64 3.24.5-1 [2580 kB] Get:60 http://deb.debian.org/debian buster/main amd64 libgtk-3-bin amd64 3.24.5-1 [114 kB] Get:61 http://deb.debian.org/debian buster/main amd64 libnspr4 amd64 2:4.20-1 [112 kB] Get:62 http://deb.debian.org/debian buster/main amd64 libnss3 amd64 2:3.42.1-1+deb10u2 [1160 kB] Get:63 http://deb.debian.org/debian buster/main amd64 libx11-xcb1 amd64 2:1.6.7-1 [190 kB] debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline debconf: unable to initialize frontend: Readline debconf: (This frontend requires a controlling tty.) debconf: falling back to frontend: Teletype dpkg-preconfigure: unable to re-open stdin: Fetched 29.1 MB in 1s (20.8 MB/s) Selecting previously unselected package libapparmor1:amd64. (Reading database ... 24733 files and directories currently installed.) Preparing to unpack .../0-libapparmor1_2.13.2-10_amd64.deb ... Unpacking libapparmor1:amd64 (2.13.2-10) ... Selecting previously unselected package libargon2-1:amd64. Preparing to unpack .../1-libargon2-1_0~20171227-0.2_amd64.deb ... Unpacking libargon2-1:amd64 (0~20171227-0.2) ... Selecting previously unselected package dmsetup. Preparing to unpack .../2-dmsetup_2%3a1.02.155-3_amd64.deb ... Unpacking dmsetup (2:1.02.155-3) ... Selecting previously unselected package libdevmapper1.02.1:amd64. Preparing to unpack .../3-libdevmapper1.02.1_2%3a1.02.155-3_amd64.deb ... Unpacking libdevmapper1.02.1:amd64 (2:1.02.155-3) ... Selecting previously unselected package libjson-c3:amd64. Preparing to unpack .../4-libjson-c3_0.12.1+ds-2_amd64.deb ... Unpacking libjson-c3:amd64 (0.12.1+ds-2) ... Selecting previously unselected package libcryptsetup12:amd64. Preparing to unpack .../5-libcryptsetup12_2%3a2.1.0-5+deb10u2_amd64.deb ... Unpacking libcryptsetup12:amd64 (2:2.1.0-5+deb10u2) ... Selecting previously unselected package libidn11:amd64. Preparing to unpack .../6-libidn11_1.33-2.2_amd64.deb ... Unpacking libidn11:amd64 (1.33-2.2) ... Selecting previously unselected package libip4tc0:amd64. Preparing to unpack .../7-libip4tc0_1.8.2-4_amd64.deb ... Unpacking libip4tc0:amd64 (1.8.2-4) ... Selecting previously unselected package libkmod2:amd64. Preparing to unpack .../8-libkmod2_26-1_amd64.deb ... Unpacking libkmod2:amd64 (26-1) ... Selecting previously unselected package systemd. Preparing to unpack .../9-systemd_241-7~deb10u4_amd64.deb ... Unpacking systemd (241-7~deb10u4) ... Setting up libapparmor1:amd64 (2.13.2-10) ... Setting up libargon2-1:amd64 (0~20171227-0.2) ... Setting up libjson-c3:amd64 (0.12.1+ds-2) ... Setting up libidn11:amd64 (1.33-2.2) ... Setting up libip4tc0:amd64 (1.8.2-4) ... Setting up libkmod2:amd64 (26-1) ... Setting up libdevmapper1.02.1:amd64 (2:1.02.155-3) ... Setting up libcryptsetup12:amd64 (2:2.1.0-5+deb10u2) ... Setting up systemd (241-7~deb10u4) ... Created symlink /etc/systemd/system/getty.target.wants/getty@tty1.service → /lib/systemd/system/getty@.service. Created symlink /etc/systemd/system/multi-user.target.wants/remote-fs.target → /lib/systemd/system/remote-fs.target. Created symlink /etc/systemd/system/dbus-org.freedesktop.timesync1.service → /lib/systemd/system/systemd-timesyncd.service. Created symlink /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service → /lib/systemd/system/systemd-timesyncd.service. Setting up dmsetup (2:1.02.155-3) ... Selecting previously unselected package systemd-sysv. (Reading database ... 25562 files and directories currently installed.) Preparing to unpack .../00-systemd-sysv_241-7~deb10u4_amd64.deb ... Unpacking systemd-sysv (241-7~deb10u4) ... Selecting previously unselected package libdbus-1-3:amd64. Preparing to unpack .../01-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 .../02-dbus_1.12.16-1_amd64.deb ... Unpacking dbus (1.12.16-1) ... Selecting previously unselected package libnss-systemd:amd64. Preparing to unpack .../03-libnss-systemd_241-7~deb10u4_amd64.deb ... Unpacking libnss-systemd:amd64 (241-7~deb10u4) ... Selecting previously unselected package libpam-systemd:amd64. Preparing to unpack .../04-libpam-systemd_241-7~deb10u4_amd64.deb ... Unpacking libpam-systemd:amd64 (241-7~deb10u4) ... Selecting previously unselected package gtk-update-icon-cache. Preparing to unpack .../05-gtk-update-icon-cache_3.24.5-1_amd64.deb ... No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. No diversion 'diversion of /usr/share/man/man8/update-icon-caches.8.gz to /usr/share/man/man8/update-icon-caches.gtk2.8.gz by libgtk-3-bin', none removed. Unpacking gtk-update-icon-cache (3.24.5-1) ... Selecting previously unselected package adwaita-icon-theme. Preparing to unpack .../06-adwaita-icon-theme_3.30.1-1_all.deb ... Unpacking adwaita-icon-theme (3.30.1-1) ... Selecting previously unselected package libatspi2.0-0:amd64. Preparing to unpack .../07-libatspi2.0-0_2.30.0-7_amd64.deb ... Unpacking libatspi2.0-0:amd64 (2.30.0-7) ... Selecting previously unselected package libxi6:amd64. Preparing to unpack .../08-libxi6_2%3a1.7.9-1_amd64.deb ... Unpacking libxi6:amd64 (2:1.7.9-1) ... Selecting previously unselected package libxtst6:amd64. Preparing to unpack .../09-libxtst6_2%3a1.2.3-1_amd64.deb ... Unpacking libxtst6:amd64 (2:1.2.3-1) ... Selecting previously unselected package at-spi2-core. Preparing to unpack .../10-at-spi2-core_2.30.0-7_amd64.deb ... Unpacking at-spi2-core (2.30.0-7) ... Selecting previously unselected package dbus-user-session. Preparing to unpack .../11-dbus-user-session_1.12.16-1_amd64.deb ... Unpacking dbus-user-session (1.12.16-1) ... Selecting previously unselected package libdconf1:amd64. Preparing to unpack .../12-libdconf1_0.30.1-2_amd64.deb ... Unpacking libdconf1:amd64 (0.30.1-2) ... Selecting previously unselected package dconf-service. Preparing to unpack .../13-dconf-service_0.30.1-2_amd64.deb ... Unpacking dconf-service (0.30.1-2) ... Selecting previously unselected package dconf-gsettings-backend:amd64. Preparing to unpack .../14-dconf-gsettings-backend_0.30.1-2_amd64.deb ... Unpacking dconf-gsettings-backend:amd64 (0.30.1-2) ... Selecting previously unselected package libproxy1v5:amd64. Preparing to unpack .../15-libproxy1v5_0.4.15-5_amd64.deb ... Unpacking libproxy1v5:amd64 (0.4.15-5) ... Selecting previously unselected package glib-networking-common. Preparing to unpack .../16-glib-networking-common_2.58.0-2_all.deb ... Unpacking glib-networking-common (2.58.0-2) ... Selecting previously unselected package glib-networking-services. Preparing to unpack .../17-glib-networking-services_2.58.0-2_amd64.deb ... Unpacking glib-networking-services (2.58.0-2) ... Selecting previously unselected package gsettings-desktop-schemas. Preparing to unpack .../18-gsettings-desktop-schemas_3.28.1-1_all.deb ... Unpacking gsettings-desktop-schemas (3.28.1-1) ... Selecting previously unselected package glib-networking:amd64. Preparing to unpack .../19-glib-networking_2.58.0-2_amd64.deb ... Unpacking glib-networking:amd64 (2.58.0-2) ... Selecting previously unselected package libasound2-data. Preparing to unpack .../20-libasound2-data_1.1.8-1_all.deb ... Unpacking libasound2-data (1.1.8-1) ... Selecting previously unselected package libasound2:amd64. Preparing to unpack .../21-libasound2_1.1.8-1_amd64.deb ... Unpacking libasound2:amd64 (1.1.8-1) ... Selecting previously unselected package libatk1.0-data. Preparing to unpack .../22-libatk1.0-data_2.30.0-2_all.deb ... Unpacking libatk1.0-data (2.30.0-2) ... Selecting previously unselected package libatk1.0-0:amd64. Preparing to unpack .../23-libatk1.0-0_2.30.0-2_amd64.deb ... Unpacking libatk1.0-0:amd64 (2.30.0-2) ... Selecting previously unselected package libatk-bridge2.0-0:amd64. Preparing to unpack .../24-libatk-bridge2.0-0_2.30.0-5_amd64.deb ... Unpacking libatk-bridge2.0-0:amd64 (2.30.0-5) ... Selecting previously unselected package libavahi-common-data:amd64. Preparing to unpack .../25-libavahi-common-data_0.7-4+b1_amd64.deb ... Unpacking libavahi-common-data:amd64 (0.7-4+b1) ... Selecting previously unselected package libavahi-common3:amd64. Preparing to unpack .../26-libavahi-common3_0.7-4+b1_amd64.deb ... Unpacking libavahi-common3:amd64 (0.7-4+b1) ... Selecting previously unselected package libavahi-client3:amd64. Preparing to unpack .../27-libavahi-client3_0.7-4+b1_amd64.deb ... Unpacking libavahi-client3:amd64 (0.7-4+b1) ... Selecting previously unselected package libcolord2:amd64. Preparing to unpack .../28-libcolord2_1.4.3-4_amd64.deb ... Unpacking libcolord2:amd64 (1.4.3-4) ... Selecting previously unselected package libcups2:amd64. Preparing to unpack .../29-libcups2_2.2.10-6+deb10u3_amd64.deb ... Unpacking libcups2:amd64 (2.2.10-6+deb10u3) ... Selecting previously unselected package libepoxy0:amd64. Preparing to unpack .../30-libepoxy0_1.5.3-0.1_amd64.deb ... Unpacking libepoxy0:amd64 (1.5.3-0.1) ... Selecting previously unselected package libjson-glib-1.0-common. Preparing to unpack .../31-libjson-glib-1.0-common_1.4.4-2_all.deb ... Unpacking libjson-glib-1.0-common (1.4.4-2) ... Selecting previously unselected package libjson-glib-1.0-0:amd64. Preparing to unpack .../32-libjson-glib-1.0-0_1.4.4-2_amd64.deb ... Unpacking libjson-glib-1.0-0:amd64 (1.4.4-2) ... Selecting previously unselected package libsoup2.4-1:amd64. Preparing to unpack .../33-libsoup2.4-1_2.64.2-2_amd64.deb ... Unpacking libsoup2.4-1:amd64 (2.64.2-2) ... Selecting previously unselected package libsoup-gnome2.4-1:amd64. Preparing to unpack .../34-libsoup-gnome2.4-1_2.64.2-2_amd64.deb ... Unpacking libsoup-gnome2.4-1:amd64 (2.64.2-2) ... Selecting previously unselected package librest-0.7-0:amd64. Preparing to unpack .../35-librest-0.7-0_0.8.1-1_amd64.deb ... Unpacking librest-0.7-0:amd64 (0.8.1-1) ... Selecting previously unselected package libwayland-client0:amd64. Preparing to unpack .../36-libwayland-client0_1.16.0-1_amd64.deb ... Unpacking libwayland-client0:amd64 (1.16.0-1) ... Selecting previously unselected package libwayland-cursor0:amd64. Preparing to unpack .../37-libwayland-cursor0_1.16.0-1_amd64.deb ... Unpacking libwayland-cursor0:amd64 (1.16.0-1) ... Selecting previously unselected package libwayland-egl1:amd64. Preparing to unpack .../38-libwayland-egl1_1.16.0-1_amd64.deb ... Unpacking libwayland-egl1:amd64 (1.16.0-1) ... Selecting previously unselected package libxcomposite1:amd64. Preparing to unpack .../39-libxcomposite1_1%3a0.4.4-2_amd64.deb ... Unpacking libxcomposite1:amd64 (1:0.4.4-2) ... Selecting previously unselected package libxfixes3:amd64. Preparing to unpack .../40-libxfixes3_1%3a5.0.3-1_amd64.deb ... Unpacking libxfixes3:amd64 (1:5.0.3-1) ... Selecting previously unselected package libxcursor1:amd64. Preparing to unpack .../41-libxcursor1_1%3a1.1.15-2_amd64.deb ... Unpacking libxcursor1:amd64 (1:1.1.15-2) ... Selecting previously unselected package libxdamage1:amd64. Preparing to unpack .../42-libxdamage1_1%3a1.1.4-3+b3_amd64.deb ... Unpacking libxdamage1:amd64 (1:1.1.4-3+b3) ... Selecting previously unselected package libxinerama1:amd64. Preparing to unpack .../43-libxinerama1_2%3a1.1.4-2_amd64.deb ... Unpacking libxinerama1:amd64 (2:1.1.4-2) ... Selecting previously unselected package xkb-data. Preparing to unpack .../44-xkb-data_2.26-2_all.deb ... Unpacking xkb-data (2.26-2) ... Selecting previously unselected package libxkbcommon0:amd64. Preparing to unpack .../45-libxkbcommon0_0.8.2-1_amd64.deb ... Unpacking libxkbcommon0:amd64 (0.8.2-1) ... Selecting previously unselected package libxrandr2:amd64. Preparing to unpack .../46-libxrandr2_2%3a1.5.1-1_amd64.deb ... Unpacking libxrandr2:amd64 (2:1.5.1-1) ... Selecting previously unselected package libgtk-3-common. Preparing to unpack .../47-libgtk-3-common_3.24.5-1_all.deb ... Unpacking libgtk-3-common (3.24.5-1) ... Selecting previously unselected package libgtk-3-0:amd64. Preparing to unpack .../48-libgtk-3-0_3.24.5-1_amd64.deb ... Unpacking libgtk-3-0:amd64 (3.24.5-1) ... Selecting previously unselected package libgtk-3-bin. Preparing to unpack .../49-libgtk-3-bin_3.24.5-1_amd64.deb ... Unpacking libgtk-3-bin (3.24.5-1) ... Selecting previously unselected package libnspr4:amd64. Preparing to unpack .../50-libnspr4_2%3a4.20-1_amd64.deb ... Unpacking libnspr4:amd64 (2:4.20-1) ... Selecting previously unselected package libnss3:amd64. Preparing to unpack .../51-libnss3_2%3a3.42.1-1+deb10u2_amd64.deb ... Unpacking libnss3:amd64 (2:3.42.1-1+deb10u2) ... Selecting previously unselected package libx11-xcb1:amd64. Preparing to unpack .../52-libx11-xcb1_2%3a1.6.7-1_amd64.deb ... Unpacking libx11-xcb1:amd64 (2:1.6.7-1) ... Setting up gtk-update-icon-cache (3.24.5-1) ... Setting up libx11-xcb1:amd64 (2:1.6.7-1) ... Setting up systemd-sysv (241-7~deb10u4) ... Setting up libproxy1v5:amd64 (0.4.15-5) ... Setting up libxi6:amd64 (2:1.7.9-1) ... Setting up libxtst6:amd64 (2:1.2.3-1) ... Setting up libnss-systemd:amd64 (241-7~deb10u4) ... First installation detected... Checking NSS setup... Setting up xkb-data (2.26-2) ... Setting up libcolord2:amd64 (1.4.3-4) ... Setting up libdconf1:amd64 (0.30.1-2) ... Setting up libasound2-data (1.1.8-1) ... Setting up adwaita-icon-theme (3.30.1-1) ... update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode Setting up libepoxy0:amd64 (1.5.3-0.1) ... Setting up libnspr4:amd64 (2:4.20-1) ... Setting up libxfixes3:amd64 (1:5.0.3-1) ... Setting up libavahi-common-data:amd64 (0.7-4+b1) ... 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 libxinerama1:amd64 (2:1.1.4-2) ... Setting up libxrandr2:amd64 (2:1.5.1-1) ... Setting up libatk1.0-data (2.30.0-2) ... Setting up libasound2:amd64 (1.1.8-1) ... Setting up libpam-systemd:amd64 (241-7~deb10u4) ... 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 libjson-glib-1.0-common (1.4.4-2) ... Setting up libatk1.0-0:amd64 (2.30.0-2) ... Setting up libwayland-egl1:amd64 (1.16.0-1) ... Setting up glib-networking-common (2.58.0-2) ... Setting up libxcomposite1:amd64 (1:0.4.4-2) ... Setting up libxkbcommon0:amd64 (0.8.2-1) ... Setting up libwayland-client0:amd64 (1.16.0-1) ... Setting up glib-networking-services (2.58.0-2) ... Setting up libxdamage1:amd64 (1:1.1.4-3+b3) ... Setting up libxcursor1:amd64 (1:1.1.15-2) ... Setting up libavahi-common3:amd64 (0.7-4+b1) ... Setting up libnss3:amd64 (2:3.42.1-1+deb10u2) ... Setting up libatspi2.0-0:amd64 (2.30.0-7) ... Setting up libjson-glib-1.0-0:amd64 (1.4.4-2) ... Setting up libatk-bridge2.0-0:amd64 (2.30.0-5) ... Setting up dbus-user-session (1.12.16-1) ... Setting up at-spi2-core (2.30.0-7) ... Setting up libwayland-cursor0:amd64 (1.16.0-1) ... Setting up libavahi-client3:amd64 (0.7-4+b1) ... Setting up dconf-service (0.30.1-2) ... Setting up libcups2:amd64 (2.2.10-6+deb10u3) ... Setting up dconf-gsettings-backend:amd64 (0.30.1-2) ... Setting up libgtk-3-common (3.24.5-1) ... Setting up gsettings-desktop-schemas (3.28.1-1) ... Processing triggers for libglib2.0-0:amd64 (2.58.3-2+deb10u2) ... Processing triggers for libc-bin (2.28-10) ... Processing triggers for systemd (241-7~deb10u4) ... Setting up glib-networking:amd64 (2.58.0-2) ... Setting up libsoup2.4-1:amd64 (2.64.2-2) ... Setting up libsoup-gnome2.4-1:amd64 (2.64.2-2) ... Setting up librest-0.7-0:amd64 (0.8.1-1) ... Setting up libgtk-3-0:amd64 (3.24.5-1) ... Setting up libgtk-3-bin (3.24.5-1) ... Processing triggers for libc-bin (2.28-10) ... $ pip install --no-cache-dir -r requirements.txt Collecting jupyter Downloading jupyter-1.0.0-py2.py3-none-any.whl (2.7 kB) Collecting pympler Downloading Pympler-0.8.tar.gz (175 kB) Collecting lark-parser Downloading lark-parser-0.8.9.tar.gz (294 kB) Collecting tqdm Downloading tqdm-4.47.0-py2.py3-none-any.whl (66 kB) Collecting tables Downloading tables-3.6.1-cp38-cp38-manylinux1_x86_64.whl (4.3 MB) Collecting notebook-as-pdf Downloading notebook_as_pdf-0.2.0-py3-none-any.whl (5.2 kB) Collecting ipywidgets Downloading ipywidgets-7.5.1-py2.py3-none-any.whl (121 kB) Collecting nbconvert Downloading nbconvert-5.6.1-py2.py3-none-any.whl (455 kB) Collecting notebook Downloading notebook-6.0.3-py3-none-any.whl (9.7 MB) Collecting jupyter-console Downloading jupyter_console-6.1.0-py2.py3-none-any.whl (21 kB) Collecting qtconsole Downloading qtconsole-4.7.5-py2.py3-none-any.whl (118 kB) Collecting ipykernel Downloading ipykernel-5.3.0-py3-none-any.whl (119 kB) Collecting numexpr>=2.6.2 Downloading numexpr-2.7.1-cp38-cp38-manylinux1_x86_64.whl (164 kB) Collecting numpy>=1.9.3 Downloading numpy-1.19.0-cp38-cp38-manylinux2010_x86_64.whl (14.6 MB) Collecting pyppeteer Downloading pyppeteer-0.2.2-py3-none-any.whl (145 kB) Collecting PyPDF2 Downloading PyPDF2-1.26.0.tar.gz (77 kB) Collecting nbformat>=4.2.0 Downloading nbformat-5.0.7-py3-none-any.whl (170 kB) Collecting traitlets>=4.3.1 Downloading traitlets-4.3.3-py2.py3-none-any.whl (75 kB) Collecting widgetsnbextension~=3.5.0 Downloading widgetsnbextension-3.5.1-py2.py3-none-any.whl (2.2 MB) Collecting ipython>=4.0.0; python_version >= "3.3" Downloading ipython-7.16.1-py3-none-any.whl (785 kB) Collecting entrypoints>=0.2.2 Downloading entrypoints-0.3-py2.py3-none-any.whl (11 kB) Collecting pandocfilters>=1.4.1 Downloading pandocfilters-1.4.2.tar.gz (14 kB) Collecting pygments Downloading Pygments-2.6.1-py3-none-any.whl (914 kB) Collecting jinja2>=2.4 Downloading Jinja2-2.11.2-py2.py3-none-any.whl (125 kB) Collecting jupyter-core Downloading jupyter_core-4.6.3-py2.py3-none-any.whl (83 kB) Collecting testpath Downloading testpath-0.4.4-py2.py3-none-any.whl (163 kB) Collecting bleach Downloading bleach-3.1.5-py2.py3-none-any.whl (151 kB) Collecting defusedxml Downloading defusedxml-0.6.0-py2.py3-none-any.whl (23 kB) Collecting mistune<2,>=0.8.1 Downloading mistune-0.8.4-py2.py3-none-any.whl (16 kB) Collecting prometheus-client Downloading prometheus_client-0.8.0-py2.py3-none-any.whl (53 kB) Collecting pyzmq>=17 Downloading pyzmq-19.0.1-cp38-cp38-manylinux1_x86_64.whl (1.1 MB) Collecting ipython-genutils Downloading ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB) Collecting terminado>=0.8.1 Downloading terminado-0.8.3-py2.py3-none-any.whl (33 kB) Collecting jupyter-client>=5.3.4 Downloading jupyter_client-6.1.3-py3-none-any.whl (106 kB) Collecting tornado>=5.0 Downloading tornado-6.0.4.tar.gz (496 kB) Collecting Send2Trash Downloading Send2Trash-1.5.0-py3-none-any.whl (12 kB) Collecting prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 Downloading prompt_toolkit-3.0.5-py3-none-any.whl (351 kB) Collecting qtpy Downloading QtPy-1.9.0-py2.py3-none-any.whl (54 kB) Collecting urllib3<2.0.0,>=1.25.8 Downloading urllib3-1.25.9-py2.py3-none-any.whl (126 kB) Collecting websockets<9.0,>=8.1 Downloading websockets-8.1-cp38-cp38-manylinux2010_x86_64.whl (78 kB) Collecting appdirs<2.0.0,>=1.4.3 Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) Collecting pyee<8.0.0,>=7.0.1 Downloading pyee-7.0.2-py2.py3-none-any.whl (12 kB) Collecting jsonschema!=2.5.0,>=2.4 Downloading jsonschema-3.2.0-py2.py3-none-any.whl (56 kB) Collecting six Downloading six-1.15.0-py2.py3-none-any.whl (10 kB) Collecting decorator Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB) Collecting pexpect; sys_platform != "win32" Downloading pexpect-4.8.0-py2.py3-none-any.whl (59 kB) Collecting pickleshare Downloading pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB) Collecting jedi>=0.10 Downloading jedi-0.17.1-py2.py3-none-any.whl (1.4 MB) Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.8/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets->jupyter->-r requirements.txt (line 1)) (47.1.1) Collecting backcall Downloading backcall-0.2.0-py2.py3-none-any.whl (11 kB) Collecting MarkupSafe>=0.23 Downloading MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl (32 kB) Collecting webencodings Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB) Collecting packaging Downloading packaging-20.4-py2.py3-none-any.whl (37 kB) Collecting ptyprocess; os_name != "nt" Downloading ptyprocess-0.6.0-py2.py3-none-any.whl (39 kB) Collecting python-dateutil>=2.1 Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB) Collecting wcwidth Downloading wcwidth-0.2.5-py2.py3-none-any.whl (30 kB) Collecting attrs>=17.4.0 Downloading attrs-19.3.0-py2.py3-none-any.whl (39 kB) Collecting pyrsistent>=0.14.0 Downloading pyrsistent-0.16.0.tar.gz (108 kB) Collecting parso<0.8.0,>=0.7.0 Downloading parso-0.7.0-py2.py3-none-any.whl (100 kB) Collecting pyparsing>=2.0.2 Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB) Building wheels for collected packages: pympler, lark-parser, PyPDF2, pandocfilters, tornado, pyrsistent Building wheel for pympler (setup.py): started Building wheel for pympler (setup.py): finished with status 'done' Created wheel for pympler: filename=Pympler-0.8-py3-none-any.whl size=164713 sha256=8687c2cba848a998ca3c382eaebb40d3f4c237126a98e2f7ea237c86d893d1ce Stored in directory: /tmp/pip-ephem-wheel-cache-9xvt7yiv/wheels/2c/09/38/7c8c5dc224099d3a7194d154a99093d429bb4bda18c241c4b5 Building wheel for lark-parser (setup.py): started Building wheel for lark-parser (setup.py): finished with status 'done' Created wheel for lark-parser: filename=lark_parser-0.8.9-py2.py3-none-any.whl size=75357 sha256=4064750ada68815a698f20c2e004897b56b489dc16ef099621219d6faeaa468e Stored in directory: /tmp/pip-ephem-wheel-cache-9xvt7yiv/wheels/5c/55/8c/91a8363366ada1c946e50d5c030e63129a2d8f3120e1975997 Building wheel for PyPDF2 (setup.py): started Building wheel for PyPDF2 (setup.py): finished with status 'done' Created wheel for PyPDF2: filename=PyPDF2-1.26.0-py3-none-any.whl size=61084 sha256=e6180338e2967be51311c889dba65ad577f061c1a114be4fceddebe9703bdd94 Stored in directory: /tmp/pip-ephem-wheel-cache-9xvt7yiv/wheels/b1/1a/8f/a4c34be976825a2f7948d0fa40907598d69834f8ab5889de11 Building wheel for pandocfilters (setup.py): started Building wheel for pandocfilters (setup.py): finished with status 'done' Created wheel for pandocfilters: filename=pandocfilters-1.4.2-py3-none-any.whl size=7856 sha256=20ef2df286088ae82b07087621f275199011e9c4484b9e1810d20e78a6299bd3 Stored in directory: /tmp/pip-ephem-wheel-cache-9xvt7yiv/wheels/f6/08/65/e4636b703d0e870cd62692dafd6b47db27287fe80cea433722 Building wheel for tornado (setup.py): started Building wheel for tornado (setup.py): finished with status 'done' Created wheel for tornado: filename=tornado-6.0.4-cp38-cp38-linux_x86_64.whl size=427816 sha256=1108d56966f59c5370206b5f73d74ed424469bfcabf83040e18ea276a7405dea Stored in directory: /tmp/pip-ephem-wheel-cache-9xvt7yiv/wheels/88/79/e5/598ba17e85eccf2626eab62e4ee8452895636cd542650d450d Building wheel for pyrsistent (setup.py): started Building wheel for pyrsistent (setup.py): finished with status 'done' Created wheel for pyrsistent: filename=pyrsistent-0.16.0-cp38-cp38-linux_x86_64.whl size=126681 sha256=63540c806f41714295504782e15bcb66ec815d4d7b4e66ed5ab06eb6cb0b02be Stored in directory: /tmp/pip-ephem-wheel-cache-9xvt7yiv/wheels/17/be/0f/727fb20889ada6aaaaba861f5f0eb21663533915429ad43f28 Successfully built pympler lark-parser PyPDF2 pandocfilters tornado pyrsistent Installing collected packages: ipython-genutils, six, attrs, pyrsistent, jsonschema, decorator, traitlets, jupyter-core, nbformat, tornado, wcwidth, prompt-toolkit, pygments, ptyprocess, pexpect, pickleshare, parso, jedi, backcall, ipython, pyzmq, python-dateutil, jupyter-client, ipykernel, entrypoints, pandocfilters, MarkupSafe, jinja2, testpath, webencodings, pyparsing, packaging, bleach, defusedxml, mistune, nbconvert, prometheus-client, terminado, Send2Trash, notebook, widgetsnbextension, ipywidgets, jupyter-console, qtpy, qtconsole, jupyter, pympler, lark-parser, tqdm, numpy, numexpr, tables, urllib3, websockets, appdirs, pyee, pyppeteer, PyPDF2, notebook-as-pdf Successfully installed MarkupSafe-1.1.1 PyPDF2-1.26.0 Send2Trash-1.5.0 appdirs-1.4.4 attrs-19.3.0 backcall-0.2.0 bleach-3.1.5 decorator-4.4.2 defusedxml-0.6.0 entrypoints-0.3 ipykernel-5.3.0 ipython-7.16.1 ipython-genutils-0.2.0 ipywidgets-7.5.1 jedi-0.17.1 jinja2-2.11.2 jsonschema-3.2.0 jupyter-1.0.0 jupyter-client-6.1.3 jupyter-console-6.1.0 jupyter-core-4.6.3 lark-parser-0.8.9 mistune-0.8.4 nbconvert-5.6.1 nbformat-5.0.7 notebook-6.0.3 notebook-as-pdf-0.2.0 numexpr-2.7.1 numpy-1.19.0 packaging-20.4 pandocfilters-1.4.2 parso-0.7.0 pexpect-4.8.0 pickleshare-0.7.5 prometheus-client-0.8.0 prompt-toolkit-3.0.5 ptyprocess-0.6.0 pyee-7.0.2 pygments-2.6.1 pympler-0.8 pyparsing-2.4.7 pyppeteer-0.2.2 pyrsistent-0.16.0 python-dateutil-2.8.1 pyzmq-19.0.1 qtconsole-4.7.5 qtpy-1.9.0 six-1.15.0 tables-3.6.1 terminado-0.8.3 testpath-0.4.4 tornado-6.0.4 tqdm-4.47.0 traitlets-4.3.3 urllib3-1.25.9 wcwidth-0.2.5 webencodings-0.5.1 websockets-8.1 widgetsnbextension-3.5.1 $ jupyter nbconvert --to html --execute example.ipynb [NbConvertApp] Converting notebook example.ipynb to html [NbConvertApp] Executing notebook with kernel: python3 [NbConvertApp] Writing 342781 bytes to example.html $ jupyter nbconvert --to PDFviaHTML --execute example.ipynb [NbConvertApp] Converting notebook example.ipynb to PDFviaHTML [NbConvertApp] Executing notebook with kernel: python3 [NbConvertApp] Executing notebook with kernel: python3 [W:pyppeteer.chromium_downloader] start chromium download. Download may take a few minutes. 100%|██████████| 108773488/108773488 [00:00<00:00, 198338391.82it/s] [W:pyppeteer.chromium_downloader] chromium download done. [W:pyppeteer.chromium_downloader] chromium extracted to: /root/.local/share/pyppeteer/local-chromium/588429 Traceback (most recent call last): File "/usr/local/bin/jupyter-nbconvert", line 8, in sys.exit(main()) File "/usr/local/lib/python3.8/site-packages/jupyter_core/application.py", line 270, in launch_instance return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs) File "/usr/local/lib/python3.8/site-packages/traitlets/config/application.py", line 664, in launch_instance app.start() File "/usr/local/lib/python3.8/site-packages/nbconvert/nbconvertapp.py", line 340, in start self.convert_notebooks() File "/usr/local/lib/python3.8/site-packages/nbconvert/nbconvertapp.py", line 510, in convert_notebooks self.convert_single_notebook(notebook_filename) File "/usr/local/lib/python3.8/site-packages/nbconvert/nbconvertapp.py", line 481, in convert_single_notebook output, resources = self.export_single_notebook(notebook_filename, resources, input_buffer=input_buffer) File "/usr/local/lib/python3.8/site-packages/nbconvert/nbconvertapp.py", line 410, in export_single_notebook output, resources = self.exporter.from_filename(notebook_filename, resources=resources) File "/usr/local/lib/python3.8/site-packages/nbconvert/exporters/exporter.py", line 179, in from_filename return self.from_file(f, resources=resources, **kw) File "/usr/local/lib/python3.8/site-packages/nbconvert/exporters/exporter.py", line 197, in from_file return self.from_notebook_node(nbformat.read(file_stream, as_version=4), resources=resources, **kw) File "/usr/local/lib/python3.8/site-packages/notebook_as_pdf/__init__.py", line 148, in from_notebook_node self.pool.submit( File "/usr/local/lib/python3.8/concurrent/futures/_base.py", line 439, in result return self.__get_result() File "/usr/local/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result raise self._exception File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.8/asyncio/runners.py", line 43, in run return loop.run_until_complete(main) File "/usr/local/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete return future.result() File "/usr/local/lib/python3.8/site-packages/notebook_as_pdf/__init__.py", line 107, in notebook_to_pdf await html_to_pdf(f.name, pdf_path) File "/usr/local/lib/python3.8/site-packages/notebook_as_pdf/__init__.py", line 24, in html_to_pdf browser = await launch(handleSIGINT=False, handleSIGTERM=False, handleSIGHUP=False) File "/usr/local/lib/python3.8/site-packages/pyppeteer/launcher.py", line 305, in launch return await Launcher(options, **kwargs).launch() File "/usr/local/lib/python3.8/site-packages/pyppeteer/launcher.py", line 166, in launch self.browserWSEndpoint = get_ws_endpoint(self.url) File "/usr/local/lib/python3.8/site-packages/pyppeteer/launcher.py", line 225, in get_ws_endpoint raise BrowserError('Browser closed unexpectedly:\n') pyppeteer.errors.BrowserError: Browser closed unexpectedly: Error in atexit._run_exitfuncs: Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/pyppeteer/launcher.py", line 151, in _close_process self._loop.run_until_complete(self.killChrome()) File "/usr/local/lib/python3.8/asyncio/base_events.py", line 591, in run_until_complete self._check_closed() File "/usr/local/lib/python3.8/asyncio/base_events.py", line 508, in _check_closed raise RuntimeError('Event loop is closed') RuntimeError: Event loop is closed sys:1: RuntimeWarning: coroutine 'Launcher.killChrome' was never awaited RuntimeWarning: Enable tracemalloc to get the object allocation traceback ```
betatim commented 4 years ago

Also happens on Ubuntu. Just rebuilt the docker image that mybinder.org uses and it gives same error you are reporting. If I build it locally with repo2docker I also get this.

Investigating what changed.

betatim commented 4 years ago

It looks like I can make it work by disabling the sandbox. Can you change your nbconvert command-line to jupyter-nbconvert --PDFExporter.no_sandbox=True --to PDFviaHTML some-notebook.ipynb to see if that works?

If that fixes it I think we should make it the default.

adavidzh commented 4 years ago

I feel less alone now. Thanks for reproducing the issue.

So, I tried it out and it doesn't work, but perhaps because the first line I get is:

$ jupyter nbconvert --PDFExporter.no_sandbox=True --to PDFviaHTML --execute example.ipynb
 [NbConvertApp] WARNING | Config option `no_sandbox` not recognized by `PDFExporter`.
 [NbConvertApp] Converting notebook example.ipynb to PDFviaHTML
 [NbConvertApp] Executing notebook with kernel: python3
<snip>

I have no versions in my requirements.txt and pip seems to be picking up

Collecting nbconvert
   Downloading nbconvert-5.6.1-py2.py3-none-any.whl (455 kB)
betatim commented 4 years ago

Can you try without --execute and which version of notebook-as-pdf do you have installed in your CI environment? It might be that the option to turn off the sandbox was added after the last release. In which case can you install from master iwth pip install https://github.com/betatim/notebook-as-pdf/archive/master.zip?

adavidzh commented 4 years ago

In steps:

betatim commented 4 years ago

Thanks a lot!

The v0.1.0 when you install from master is because someone (coughcough) forgot to update the contents of the setup.py so it still shows 0.1.0.

I've added todo items to #12 which should fix the problem you had (--no-sandbox not being turned on).

The one page PDF is very much a feature 😀 If you don't need to print it, why limit yourself to weird A4 pages with all the "how do we split content across page breaks" problems. If you do want to print the notebook onto paper, you probably need a different extension. For navigation help checkout the stretch goal in #12.

I'll close this now.

adavidzh commented 4 years ago

Grand. Thanks for helping out someone who's a newb (cough cough).

For navigation help [...]

This is exactly what I had in mind when I asked about it.

I agree that pages are arbitrary, but https://site/file.pdf#page=N is a staple for me when sharing information, but I wonder if one could make use of a more granular way.

betatim commented 4 years ago

I think if we can make the TOC thing work there will be "destinations" in the PDF. Not sure yet how people would discover their name but it would allow you to link to a heading. I'll keep you posted.

adavidzh commented 4 years ago

I think if we can make the TOC thing work there will be "destinations" in the PDF. Not sure yet how people would discover their name but it would allow you to link to a heading. I'll keep you posted.

Your comment just crossed my comment in #12.

snmhas commented 4 years ago

I installed the 0.3.1 version but i have the same error when i run the commands below

jupyter-nbconvert --to PDFviaHTML histogram.ipynb jupyter-nbconvert --execute --to PDFviaHTML histogram.ipynb

Traceback (most recent call last): File "/usr/local/bin/jupyter-nbconvert", line 8, in sys.exit(main()) File "/usr/local/lib/python3.7/dist-packages/jupyter_core/application.py", line 270, in launch_instance return super(JupyterApp, cls).launch_instance(argv=argv, kwargs) File "/usr/local/lib/python3.7/dist-packages/traitlets/config/application.py", line 664, in launch_instance app.start() File "/usr/local/lib/python3.7/dist-packages/nbconvert/nbconvertapp.py", line 340, in start self.convert_notebooks() File "/usr/local/lib/python3.7/dist-packages/nbconvert/nbconvertapp.py", line 510, in convert_notebooks self.convert_single_notebook(notebook_filename) File "/usr/local/lib/python3.7/dist-packages/nbconvert/nbconvertapp.py", line 481, in convert_single_notebook output, resources = self.export_single_notebook(notebook_filename, resources, input_buffer=input_buffer) File "/usr/local/lib/python3.7/dist-packages/nbconvert/nbconvertapp.py", line 410, in export_single_notebook output, resources = self.exporter.from_filename(notebook_filename, resources=resources) File "/usr/local/lib/python3.7/dist-packages/nbconvert/exporters/exporter.py", line 179, in from_filename return self.from_file(f, resources=resources, kw) File "/usr/local/lib/python3.7/dist-packages/nbconvert/exporters/exporter.py", line 197, in from_file return self.from_notebook_node(nbformat.read(file_stream, as_version=4), resources=resources, kw) File "/usr/local/lib/python3.7/dist-packages/notebook_as_pdf/init.py", line 235, in from_notebook_node kwargs, File "/usr/lib/python3.7/concurrent/futures/_base.py", line 435, in result return self.get_result() File "/usr/lib/python3.7/concurrent/futures/_base.py", line 384, in get_result raise self._exception File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, self.kwargs) File "/usr/lib/python3.7/asyncio/runners.py", line 43, in run return loop.run_until_complete(main) File "/usr/lib/python3.7/asyncio/base_events.py", line 587, in run_until_complete return future.result() File "/usr/local/lib/python3.7/dist-packages/notebook_as_pdf/init.py", line 180, in notebook_to_pdf heading_positions = await html_to_pdf(f.name, pdf_path, pyppeteer_args) File "/usr/local/lib/python3.7/dist-packages/notebook_as_pdf/init.py", line 28, in html_to_pdf args=pyppeteer_args or [], File "/usr/local/lib/python3.7/dist-packages/pyppeteer/launcher.py", line 305, in launch return await Launcher(options, kwargs).launch() File "/usr/local/lib/python3.7/dist-packages/pyppeteer/launcher.py", line 166, in launch self.browserWSEndpoint = get_ws_endpoint(self.url) File "/usr/local/lib/python3.7/dist-packages/pyppeteer/launcher.py", line 225, in get_ws_endpoint raise BrowserError('Browser closed unexpectedly:\n') pyppeteer.errors.BrowserError: Browser closed unexpectedly:

Error in atexit._run_exitfuncs: Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/pyppeteer/launcher.py", line 151, in _close_process self._loop.run_until_complete(self.killChrome()) File "/usr/lib/python3.7/asyncio/base_events.py", line 562, in run_until_complete self._check_closed() File "/usr/lib/python3.7/asyncio/base_events.py", line 479, in _check_closed raise RuntimeError('Event loop is closed') RuntimeError: Event loop is closed sys:1: RuntimeWarning: coroutine 'Launcher.killChrome' was never awaited RuntimeWarning: Enable tracemalloc to get the object allocation traceback

betatim commented 4 years ago

Did you install the packages listed in https://github.com/betatim/notebook-as-pdf/blob/master/binder/apt.txt ?

If yes, what happens if you run jupyter-nbconvert --PDFExporter.no_sandbox=True --to PDFviaHTML some-notebook.ipynb?

snmhas commented 4 years ago

Yest, it works. I tried to install apt packages but i was getting some errors. Now i am able to install apt packages. Sorry to bother you.

betatim commented 4 years ago

What do you mean with "it works"? Did it start working after you installed the APT packages or after you tried with the no_sandbox command line flag?

snmhas commented 4 years ago

After I installed the apt packages I run the command below and it worked.

jupyter-nbconvert --to PDFviaHTML histogram.ipynb

betatim commented 4 years ago

Thanks for trying out this package and sharing what worked/didn't work :)