fastai / nbdev

Create delightful software with Jupyter Notebooks
https://nbdev.fast.ai/
Apache License 2.0
4.93k stars 488 forks source link

Creating README.md via `nbdev_build_docs` fails with "AttributeError: 'MarkdownExporter' object has no attribute 'template_path'" #326

Closed jnareb closed 3 years ago

jnareb commented 3 years ago

After updating all packages in my programming environment (Anaconda), the nbdev_build_docs command (issued from terminal launched from Jupyter) stopped working. Among others the creating README.md from index.ipynb fails with the following error:

$ nbdev_build_docs
[...]
converting C:\Users\jnareb\GitHub\git-commit-graph-ext\index.ipynb to README.md
Traceback (most recent call last):
  File "c:\programdata\anaconda3\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\programdata\anaconda3\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\ProgramData\Anaconda3\Scripts\nbdev_build_docs.exe\__main__.py", line 7, in <module>
  File "c:\programdata\anaconda3\lib\site-packages\fastcore\script.py", line 103, in _f
    tfunc(**merge(args, args_from_prog(func, xtra)))
  File "c:\programdata\anaconda3\lib\site-packages\nbdev\export2html.py", line 661, in nbdev_build_docs
    if mk_readme: make_readme()
  File "c:\programdata\anaconda3\lib\site-packages\nbdev\export2html.py", line 643, in make_readme
    convert_md(index_fn, Config().config_file.parent, jekyll=False)
  File "c:\programdata\anaconda3\lib\site-packages\nbdev\export2html.py", line 572, in convert_md
    exp = nbdev_exporter(cls=MarkdownExporter, template_file='jekyll-md.tpl' if jekyll else 'md.tpl')
  File "c:\programdata\anaconda3\lib\site-packages\nbdev\export2html.py", line 488, in nbdev_exporter
    exporter.template_path.append(str(Path(__file__).parent/'templates'))
AttributeError: 'MarkdownExporter' object has no attribute 'template_path'

I have installed the following versions of libraries (conda list)

Python 3.8.5
Windows 10 Home, version 1909, 64-bit

tburnett commented 3 years ago

I find this when I run nbdev_build_docs as a command or by nbdev.export2html.nbdev_build_docs(). I see that there is an apparent typo in nbdev_exporter, exporter.template_path.append(str(Path(__file__).parent/'templates')) where that should be template_paths.

However, that has been forever, and it only just showed up for me. Fixing it then creates an error "TemplateNotFound: markdown.tpl"

I don't know if it is related, but, before this started happening, nbdev_build_docs was not reliably updating the html files, I was starting to try to understand the workings of nbdev_export2html, but this has me really stuck.

hamelsmu commented 3 years ago

@jnareb I'm not able to reproduce this error, even on a windows machine. If you happen to be familiar with Docker, Im curious if this works:

first pull the latest version of nbdev locally, and from the root of the repo, in your terminal run:

docker-compose up (wait until the containers are up and running)

followed by

docker-compose exec notebook bash

followed by

nbdev_build_docs

What happens if you do that?

jnareb commented 3 years ago

I suspect this is some bad interaction between packages, as nbdev_build_docs worked without problems before the update.

Below there is full description of my current environment (taken from JupyterLab bug report template). For the time being I would be using https://gitpod.io to build docs; I'll try to examine this issue in more detail soon.

Troubleshoot Output
$ jupyter troubleshoot
$PATH:
        C:\ProgramData\Anaconda3
        C:\ProgramData\Anaconda3\Library\mingw-w64\bin
        C:\ProgramData\Anaconda3\Library\usr\bin
        C:\ProgramData\Anaconda3\Library\bin
        C:\ProgramData\Anaconda3\Scripts
        C:\ProgramData\Anaconda3\bin
        C:\ProgramData\Anaconda3\condabin
        [...]

sys.path:
        C:\ProgramData\Anaconda3\Scripts
        C:\ProgramData\Anaconda3\python38.zip
        C:\ProgramData\Anaconda3\DLLs
        C:\ProgramData\Anaconda3\lib
        C:\ProgramData\Anaconda3
        C:\Users\jnare\AppData\Roaming\Python\Python38\site-packages
        C:\ProgramData\Anaconda3\lib\site-packages
        C:\ProgramData\Anaconda3\lib\site-packages\win32
        C:\ProgramData\Anaconda3\lib\site-packages\win32\lib
        C:\ProgramData\Anaconda3\lib\site-packages\Pythonwin

sys.executable:
        C:\ProgramData\Anaconda3\python.exe

sys.version:
        3.8.5 (default, Sep  3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)]

platform.platform():
        Windows-10-10.0.18362-SP0

where jupyter:
        C:\ProgramData\Anaconda3\Scripts\jupyter.exe

pip list:
        Package                            Version
        ---------------------------------- -------------------
        -otebook                           6.1.4
        -ytz                               2020.1
        alabaster                          0.7.12
        anaconda-client                    1.7.2
        anaconda-navigator                 1.10.0
        anaconda-project                   0.8.3
        argh                               0.26.2
        argon2-cffi                        20.1.0
        asn1crypto                         1.4.0
        astroid                            2.4.2
        astropy                            4.0.2
        async-generator                    1.10
        atomicwrites                       1.4.0
        attrs                              20.3.0
        autopep8                           1.5.4
        Babel                              2.8.1
        backcall                           0.2.0
        backports.functools-lru-cache      1.6.1
        backports.shutil-get-terminal-size 1.0.0
        backports.tempfile                 1.0
        backports.weakref                  1.0.post1
        bcrypt                             3.2.0
        beautifulsoup4                     4.9.3
        bitarray                           1.6.1
        bkcharts                           0.2
        bleach                             3.2.1
        bokeh                              2.2.3
        boto                               2.49.0
        Bottleneck                         1.3.2
        brotlipy                           0.7.0
        certifi                            2020.11.8
        cffi                               1.14.3
        chardet                            3.0.4
        click                              7.1.2
        cloudpickle                        1.6.0
        clyent                             1.2.2
        colorama                           0.4.4
        comtypes                           1.1.7
        conda                              4.9.2
        conda-build                        3.20.5
        conda-package-handling             1.7.2
        conda-verify                       3.4.2
        contextlib2                        0.6.0.post1
        cryptography                       3.2.1
        cycler                             0.10.0
        Cython                             0.29.21
        cytoolz                            0.11.0
        dask                               2.30.0
        decorator                          4.4.2
        defusedxml                         0.6.0
        diff-match-patch                   20200713
        distributed                        2.30.1
        Django                             2.2.4
        django-cors-headers                3.1.0
        django-extensions                  3.0.5
        django-service-objects             0.5.0
        djangorestframework                3.10.2
        djangorestframework-jwt            1.10.0
        docutils                           0.16
        drf-generators                     0.5.0
        entrypoints                        0.3
        et-xmlfile                         1.0.1
        fastcache                          1.1.0
        fastcore                           1.3.9
        filelock                           3.0.12
        flake8                             3.8.4
        Flask                              1.1.2
        fsspec                             0.8.3
        future                             0.18.2
        gevent                             20.9.0
        gitdb                              4.0.5
        GitPython                          3.1.11
        glob2                              0.7
        gmpy2                              2.0.8
        GPUtil                             1.4.0
        greenlet                           0.4.17
        h5py                               2.10.0
        HeapDict                           1.0.1
        html5lib                           1.1
        humanize                           3.1.0
        idna                               2.10
        imageio                            2.9.0
        imagesize                          1.2.0
        importlib-metadata                 2.0.0
        iniconfig                          1.1.1
        intervaltree                       3.1.0
        ipykernel                          5.3.4
        ipython                            7.19.0
        ipython-genutils                   0.2.0
        ipywidgets                         7.5.1
        isort                              5.6.4
        itsdangerous                       1.1.0
        jdcal                              1.4.1
        jedi                               0.17.1
        Jinja2                             2.11.2
        joblib                             0.17.0
        json5                              0.9.5
        jsonschema                         3.2.0
        jupyter                            1.0.0
        jupyter-client                     6.1.7
        jupyter-console                    6.2.0
        jupyter-contrib-core               0.3.3
        jupyter-contrib-nbextensions       0.5.1
        jupyter-core                       4.7.0
        jupyter-highlight-selected-word    0.2.0
        jupyter-latex-envs                 1.4.6
        jupyter-nbextensions-configurator  0.4.1
        jupyterlab                         2.2.6
        jupyterlab-git                     0.23.2
        jupyterlab-pygments                0.1.2
        jupyterlab-server                  1.2.0
        keyring                            21.4.0
        kiwisolver                         1.3.0
        lazy-object-proxy                  1.4.3
        libarchive-c                       2.9
        llvmlite                           0.34.0
        locket                             0.2.0
        lxml                               4.6.1
        MarkupSafe                         1.1.1
        matplotlib                         3.3.2
        mccabe                             0.6.1
        menuinst                           1.4.16
        mistune                            0.8.4
        mkl-fft                            1.2.0
        mkl-random                         1.1.1
        mkl-service                        2.3.0
        mock                               4.0.2
        more-itertools                     8.6.0
        mpmath                             1.1.0
        msgpack                            1.0.0
        multipledispatch                   0.6.0
        navigator-updater                  0.2.1
        nbclient                           0.5.1
        nbconvert                          6.0.7
        nbd-colab                          0.0.10
        nbdev                              1.1.5
        nbdime                             2.1.0
        nbformat                           5.0.8
        nest-asyncio                       1.4.3
        networkx                           2.5
        nltk                               3.5
        nose                               1.3.7
        notebook                           6.1.4
        numba                              0.51.2
        numexpr                            2.7.1
        numpy                              1.19.2
        numpydoc                           1.1.0
        olefile                            0.46
        openpyxl                           3.0.5
        packaging                          20.4
        pandas                             1.1.3
        pandocfilters                      1.4.3
        paramiko                           2.7.2
        parso                              0.7.0
        partd                              1.1.0
        path                               15.0.0
        pathlib2                           2.3.5
        pathtools                          0.1.2
        patsy                              0.5.1
        pep8                               1.7.1
        pexpect                            4.8.0
        pickleshare                        0.7.5
        Pillow                             8.0.1
        pip                                20.2.4
        pkginfo                            1.6.1
        pluggy                             0.13.1
        ply                                3.11
        prometheus-client                  0.8.0
        prompt-toolkit                     3.0.8
        psutil                             5.7.2
        psycopg2                           2.8.3
        ptyprocess                         0.6.0
        py                                 1.9.0
        pycodestyle                        2.6.0
        pycosat                            0.6.3
        pycparser                          2.20
        pycurl                             7.43.0.6
        pydocstyle                         5.1.1
        pydot                              1.4.1
        pyflakes                           2.2.0
        Pygments                           2.7.2
        PyJWT                              1.7.1
        pylint                             2.6.0
        PyNaCl                             1.4.0
        pyodbc                             4.0.0-unsupported
        pyOpenSSL                          19.1.0
        pyparsing                          2.4.7
        pyreadline                         2.1
        pyrsistent                         0.17.3
        PySocks                            1.7.1
        pytest                             0.0.0
        python-dateutil                    2.8.1
        python-jsonrpc-server              0.4.0
        python-language-server             0.35.1
        pytz                               2019.2
        PyWavelets                         1.1.1
        pywin32                            227
        pywin32-ctypes                     0.2.0
        pywinpty                           0.5.7
        PyYAML                             5.3.1
        pyzmq                              19.0.2
        QDarkStyle                         2.8.1
        QtAwesome                          1.0.1
        qtconsole                          4.7.7
        QtPy                               1.9.0
        regex                              2020.10.15
        requests                           2.24.0
        rope                               0.18.0
        Rtree                              0.9.4
        ruamel-yaml                        0.15.87
        scikit-image                       0.17.2
        scikit-learn                       0.23.2
        scipy                              1.5.2
        seaborn                            0.11.0
        Send2Trash                         1.5.0
        setuptools                         50.3.1.post20201107
        simplegeneric                      0.8.1
        singledispatch                     3.4.0.3
        sip                                4.19.13
        six                                1.13.0
        smmap                              3.0.4
        snowballstemmer                    2.0.0
        sortedcollections                  1.2.1
        sortedcontainers                   2.2.2
        soupsieve                          2.0.1
        Sphinx                             3.2.1
        sphinxcontrib-applehelp            1.0.2
        sphinxcontrib-devhelp              1.0.2
        sphinxcontrib-htmlhelp             1.0.3
        sphinxcontrib-jsmath               1.0.1
        sphinxcontrib-qthelp               1.0.3
        sphinxcontrib-serializinghtml      1.1.4
        sphinxcontrib-websupport           1.2.4
        spyder                             4.1.5
        spyder-kernels                     1.9.4
        SQLAlchemy                         1.3.20
        sqlparse                           0.3.0
        statsmodels                        0.12.0
        sympy                              1.6.2
        tables                             3.6.1
        tblib                              1.7.0
        terminado                          0.9.1
        testpath                           0.4.4
        threadpoolctl                      2.1.0
        tifffile                           2020.10.1
        toml                               0.10.1
        toolz                              0.11.1
        tornado                            6.0.4
        tqdm                               4.51.0
        traitlets                          5.0.5
        typing-extensions                  3.7.4.3
        ujson                              4.0.1
        unicodecsv                         0.14.1
        urllib3                            1.25.11
        watchdog                           0.10.3
        wcwidth                            0.2.5
        webencodings                       0.5.1
        Werkzeug                           1.0.1
        wheel                              0.35.1
        widgetsnbextension                 3.5.1
        win-inet-pton                      1.1.0
        win-unicode-console                0.5
        wincertstore                       0.2
        wrapt                              1.11.2
        xlrd                               1.2.0
        XlsxWriter                         1.3.7
        xlwings                            0.20.8
        xlwt                               1.3.0
        xmltodict                          0.12.0
        yapf                               0.30.0
        zict                               2.0.0
        zipp                               3.4.0
        zope.event                         4.5.0
        zope.interface                     5.1.2

conda list:
        # packages in environment at C:\ProgramData\Anaconda3:
        #
        # Name                    Version                   Build  Channel
        _anaconda_depends         2020.07                  py38_0
        _ipyw_jlab_nb_ext_conf    0.1.0                    py38_0
        alabaster                 0.7.12                     py_0
        anaconda                  custom                   py38_1
        anaconda-client           1.7.2                    py38_0
        anaconda-navigator        1.10.0                   py38_0
        anaconda-project          0.8.4                      py_0
        argh                      0.26.2                   py38_0
        argon2-cffi               20.1.0           py38he774522_1
        asn1crypto                1.4.0                      py_0
        astroid                   2.4.2                    py38_0
        astropy                   4.0.2            py38he774522_0
        async_generator           1.10                       py_0
        atomicwrites              1.4.0                      py_0
        attrs                     20.3.0             pyhd3eb1b0_0
        autopep8                  1.5.4                      py_0
        babel                     2.8.1              pyhd3eb1b0_0
        backcall                  0.2.0                      py_0
        backports                 1.0                pyhd3eb1b0_2
        backports.functools_lru_cache 1.6.1              pyhd3eb1b0_0
        backports.shutil_get_terminal_size 1.0.0                    py38_2
        backports.tempfile        1.0                        py_1
        backports.weakref         1.0.post1                  py_1
        bcrypt                    3.2.0            py38he774522_0
        beautifulsoup4            4.9.3              pyhb0f4dca_0
        bitarray                  1.6.1            py38h2bbff1b_0
        bkcharts                  0.2                      py38_0
        blas                      1.0                         mkl
        bleach                    3.2.1                      py_0
        blosc                     1.20.1               h7bd577a_0
        bokeh                     2.2.3                    py38_0
        boto                      2.49.0                   py38_0
        bottleneck                1.3.2            py38h2a96729_1
        brotlipy                  0.7.0           py38h2bbff1b_1003
        bzip2                     1.0.8                he774522_0
        ca-certificates           2020.11.8            h5b45459_0    conda-forge
        certifi                   2020.11.8        py38haa244fe_0    conda-forge
        cffi                      1.14.3           py38hcd4344a_2
        chardet                   3.0.4           py38haa95532_1003
        click                     7.1.2                      py_0
        cloudpickle               1.6.0                      py_0
        clyent                    1.2.2                    py38_1
        colorama                  0.4.4                      py_0
        comtypes                  1.1.7                 py38_1001
        conda                     4.9.2            py38haa244fe_0    conda-forge
        conda-build               3.20.5                   py38_1
        conda-env                 2.6.0                         1
        conda-package-handling    1.7.2            py38h76e460a_0
        conda-verify              3.4.2                      py_1
        console_shortcut          0.1.1                         4
        contextlib2               0.6.0.post1                py_0
        cryptography              3.2.1            py38hcd4344a_1
        curl                      7.71.1               h2a8f88b_1
        cycler                    0.10.0                   py38_0
        cython                    0.29.21          py38hd77b12b_0
        cytoolz                   0.11.0           py38he774522_0
        dask                      2.30.0                     py_0
        dask-core                 2.30.0                     py_0
        decorator                 4.4.2                      py_0
        defusedxml                0.6.0                      py_0
        diff-match-patch          20200713                   py_0
        distributed               2.30.1           py38haa95532_0
        docutils                  0.16                     py38_1
        entrypoints               0.3                      py38_0
        et_xmlfile                1.0.1                   py_1001
        fastcache                 1.1.0            py38he774522_0
        fastcore                  1.3.9                    pypi_0    pypi
        filelock                  3.0.12                     py_0
        flake8                    3.8.4                      py_0
        flask                     1.1.2                      py_0
        freetype                  2.10.4               hd328e21_0
        fsspec                    0.8.3                      py_0
        future                    0.18.2                   py38_1
        get_terminal_size         1.0.0                h38e98db_0
        gevent                    20.9.0           py38he774522_0
        gitdb                     4.0.5                      py_0    conda-forge
        gitpython                 3.1.11                     py_0    conda-forge
        glob2                     0.7                        py_0
        gmpy2                     2.0.8            py38h7edee0f_3
        gputil                    1.4.0                    pypi_0    pypi
        graphviz                  2.38                 hfd603c8_2
        greenlet                  0.4.17           py38he774522_0
        h5py                      2.10.0           py38h5e291fa_0
        hdf5                      1.10.4               h7ebc959_0
        heapdict                  1.0.1                      py_0
        html5lib                  1.1                        py_0
        humanize                  3.1.0                    pypi_0    pypi
        icc_rt                    2019.0.0             h0cc432a_1
        icu                       58.2                 ha925a31_3
        idna                      2.10                       py_0
        imageio                   2.9.0                      py_0
        imagesize                 1.2.0                      py_0
        importlib-metadata        2.0.0                      py_1
        importlib_metadata        2.0.0                         1
        iniconfig                 1.1.1                      py_0
        intel-openmp              2020.2                      254
        intervaltree              3.1.0                      py_0
        ipykernel                 5.3.4            py38h5ca1d4c_0
        ipython                   7.19.0           py38hd4e2768_0
        ipython_genutils          0.2.0                    py38_0
        ipywidgets                7.5.1                      py_1
        isort                     5.6.4                      py_0
        itsdangerous              1.1.0                      py_0
        jdcal                     1.4.1                      py_0
        jedi                      0.17.1                   py38_0
        jinja2                    2.11.2                     py_0
        joblib                    0.17.0                     py_0
        jpeg                      9b                   hb83a4c4_2
        json5                     0.9.5                      py_0
        jsonschema                3.2.0                      py_2
        jupyter                   1.0.0                    py38_7
        jupyter_client            6.1.7                      py_0
        jupyter_console           6.2.0                      py_0
        jupyter_contrib_core      0.3.3                      py_2    conda-forge
        jupyter_contrib_nbextensions 0.5.1            py38h32f6830_1    conda-forge
        jupyter_core              4.7.0            py38haa95532_0
        jupyter_highlight_selected_word 0.2.0           py38h32f6830_1002    conda-forge
        jupyter_latex_envs        1.4.6           py38h32f6830_1001    conda-forge
        jupyter_nbextensions_configurator 0.4.1            py38h32f6830_2    conda-forge
        jupyterlab                2.2.6                      py_0
        jupyterlab-git            0.23.2             pyhd8ed1ab_0    conda-forge
        jupyterlab_pygments       0.1.2                      py_0
        jupyterlab_server         1.2.0                      py_0
        keyring                   21.4.0                   py38_1
        kiwisolver                1.3.0            py38hd77b12b_0
        krb5                      1.18.2               hc04afaa_0
        lazy-object-proxy         1.4.3            py38he774522_0
        libarchive                3.4.2                h5e25573_0
        libcurl                   7.71.1               h2a8f88b_1
        libiconv                  1.15                 h1df5818_7
        liblief                   0.10.1               ha925a31_0
        libllvm9                  9.0.1                h21ff451_0
        libpng                    1.6.37               h2a8f88b_0
        libsodium                 1.0.18               h62dcd97_0
        libspatialindex           1.9.3                h33f27b4_0
        libssh2                   1.9.0                h7a1dbc1_1
        libtiff                   4.1.0                h56a325e_1
        libxml2                   2.9.10               hb89e7f3_3
        libxslt                   1.1.34               he774522_0
        llvmlite                  0.34.0           py38h1a82afc_4
        locket                    0.2.0                    py38_1
        lxml                      4.6.1            py38h1350720_0
        lz4-c                     1.9.2                hf4a77e7_3
        lzo                       2.10                 he774522_2
        m2w64-gcc-libgfortran     5.3.0                         6
        m2w64-gcc-libs            5.3.0                         7
        m2w64-gcc-libs-core       5.3.0                         7
        m2w64-gmp                 6.1.0                         2
        m2w64-libwinpthread-git   5.0.0.4634.697f757               2
        markupsafe                1.1.1            py38he774522_0
        matplotlib                3.3.2                         0
        matplotlib-base           3.3.2            py38hba9282a_0
        mccabe                    0.6.1                    py38_1
        menuinst                  1.4.16           py38he774522_1
        mistune                   0.8.4           py38he774522_1000
        mkl                       2020.2                      256
        mkl-service               2.3.0            py38h2bbff1b_0
        mkl_fft                   1.2.0            py38h45dec08_0
        mkl_random                1.1.1            py38h47e9c7a_0
        mock                      4.0.2                      py_0
        more-itertools            8.6.0              pyhd3eb1b0_0
        mpc                       1.1.0                h7edee0f_1
        mpfr                      4.0.2                h62dcd97_1
        mpir                      3.0.0                hec2e145_1
        mpmath                    1.1.0                    py38_0
        msgpack-python            1.0.0            py38h74a9793_1
        msys2-conda-epoch         20160418                      1
        multipledispatch          0.6.0                    py38_0
        navigator-updater         0.2.1                    py38_0
        nbclient                  0.5.1                      py_0
        nbconvert                 6.0.7                    py38_0
        nbd-colab                 0.0.10                   pypi_0    pypi
        nbdev                     1.1.5                    pypi_0    pypi
        nbdime                    2.1.0                      py_0    conda-forge
        nbformat                  5.0.8                      py_0
        nest-asyncio              1.4.3              pyhd3eb1b0_0
        networkx                  2.5                        py_0
        nltk                      3.5                        py_0
        nodejs                    15.3.0               h57928b3_0    conda-forge
        nose                      1.3.7                    py38_2
        notebook                  6.1.4                    pypi_0    pypi
        numba                     0.51.2           py38hf9181ef_1
        numexpr                   2.7.1            py38h25d0782_0
        numpy                     1.19.2           py38hadc3359_0
        numpy-base                1.19.2           py38ha3acd2a_0
        numpydoc                  1.1.0              pyhd3eb1b0_1
        olefile                   0.46                       py_0
        openpyxl                  3.0.5                      py_0
        openssl                   1.1.1h               he774522_0    conda-forge
        packaging                 20.4                       py_0
        pandas                    1.1.3            py38ha925a31_0
        pandoc                    2.11                 h9490d1a_0
        pandocfilters             1.4.3            py38haa95532_1
        paramiko                  2.7.2                      py_0
        parso                     0.7.0                      py_0
        partd                     1.1.0                      py_0
        path                      15.0.0                   py38_0
        path.py                   12.5.0                        0
        pathlib2                  2.3.5                    py38_0
        pathtools                 0.1.2                      py_1
        patsy                     0.5.1                    py38_0
        pep8                      1.7.1                    py38_0
        pexpect                   4.8.0              pyhd3eb1b0_3
        pickleshare               0.7.5                 py38_1000
        pillow                    8.0.1            py38h4fa10fc_0
        pip                       20.2.4           py38haa95532_0
        pkginfo                   1.6.1            py38haa95532_0
        pluggy                    0.13.1                   py38_0
        ply                       3.11                     py38_0
        powershell_shortcut       0.0.1                         3
        prometheus_client         0.8.0                      py_0
        prompt-toolkit            3.0.8                      py_0
        prompt_toolkit            3.0.8                         0
        psutil                    5.7.2            py38he774522_0
        ptyprocess                0.6.0              pyhd3eb1b0_2
        py                        1.9.0                      py_0
        py-lief                   0.10.1           py38ha925a31_0
        pycodestyle               2.6.0                      py_0
        pycosat                   0.6.3            py38h2bbff1b_0
        pycparser                 2.20                       py_2
        pycurl                    7.43.0.6         py38h7a1dbc1_0
        pydocstyle                5.1.1                      py_0
        pydot                     1.4.1                    py38_0
        pyflakes                  2.2.0                      py_0
        pygments                  2.7.2              pyhd3eb1b0_0
        pylint                    2.6.0                    py38_0
        pynacl                    1.4.0            py38h62dcd97_1
        pyodbc                    4.0.30           py38ha925a31_0
        pyopenssl                 19.1.0             pyhd3eb1b0_1
        pyparsing                 2.4.7                      py_0
        pyqt                      5.9.2            py38ha925a31_4
        pyreadline                2.1                      py38_1
        pyrsistent                0.17.3           py38he774522_0
        pysocks                   1.7.1            py38haa95532_0
        pytables                  3.6.1            py38ha5be198_0
        pytest                    6.1.1                    py38_0
        python                    3.8.5                h5fd99cc_1
        python-dateutil           2.8.1                      py_0
        python-jsonrpc-server     0.4.0                      py_0
        python-language-server    0.35.1                     py_0
        python-libarchive-c       2.9                        py_0
        python_abi                3.8                      1_cp38    conda-forge
        pytz                      2020.1                   pypi_0    pypi
        pywavelets                1.1.1            py38he774522_2
        pywin32                   227              py38he774522_1
        pywin32-ctypes            0.2.0                 py38_1000
        pywinpty                  0.5.7                    py38_0
        pyyaml                    5.3.1            py38he774522_1
        pyzmq                     19.0.2           py38ha925a31_1
        qdarkstyle                2.8.1                      py_0
        qt                        5.9.7            vc14h73c81de_0
        qtawesome                 1.0.1                      py_0
        qtconsole                 4.7.7                      py_0
        qtpy                      1.9.0                      py_0
        regex                     2020.10.15       py38he774522_0
        requests                  2.24.0                     py_0
        rope                      0.18.0                     py_0
        rtree                     0.9.4            py38h21ff451_1
        ruamel_yaml               0.15.87          py38he774522_1
        scikit-image              0.17.2           py38h1e1f486_0
        scikit-learn              0.23.2           py38h47e9c7a_0
        scipy                     1.5.2            py38h14eb087_0
        seaborn                   0.11.0                     py_0
        send2trash                1.5.0                    py38_0
        setuptools                50.3.1           py38haa95532_1
        simplegeneric             0.8.1                    py38_2
        singledispatch            3.4.0.3                 py_1001
        sip                       4.19.13          py38ha925a31_0
        six                       1.15.0           py38haa95532_0
        smmap                     3.0.4              pyh9f0ad1d_0    conda-forge
        snappy                    1.1.8                h33f27b4_0
        snowballstemmer           2.0.0                      py_0
        sortedcollections         1.2.1                      py_0
        sortedcontainers          2.2.2                      py_0
        soupsieve                 2.0.1                      py_0
        sphinx                    3.2.1                      py_0
        sphinxcontrib             1.0                      py38_1
        sphinxcontrib-applehelp   1.0.2                      py_0
        sphinxcontrib-devhelp     1.0.2                      py_0
        sphinxcontrib-htmlhelp    1.0.3                      py_0
        sphinxcontrib-jsmath      1.0.1                      py_0
        sphinxcontrib-qthelp      1.0.3                      py_0
        sphinxcontrib-serializinghtml 1.1.4                      py_0
        sphinxcontrib-websupport  1.2.4                      py_0
        spyder                    4.1.5                    py38_0
        spyder-kernels            1.9.4                    py38_0
        sqlalchemy                1.3.20           py38h2bbff1b_0
        sqlite                    3.33.0               h2a8f88b_0
        statsmodels               0.12.0           py38he774522_0
        sympy                     1.6.2            py38haa95532_1
        tbb                       2020.3               h74a9793_0
        tblib                     1.7.0                      py_0
        terminado                 0.9.1                    py38_0
        testpath                  0.4.4                      py_0
        threadpoolctl             2.1.0              pyh5ca1d4c_0
        tifffile                  2020.10.1        py38h8c2d366_2
        tk                        8.6.10               he774522_0
        toml                      0.10.1                     py_0
        toolz                     0.11.1                     py_0
        tornado                   6.0.4            py38he774522_1
        tqdm                      4.51.0             pyhd3eb1b0_0
        traitlets                 5.0.5                      py_0
        typing_extensions         3.7.4.3                    py_0
        ujson                     4.0.1            py38ha925a31_0
        unicodecsv                0.14.1                   py38_0
        urllib3                   1.25.11                    py_0
        vc                        14.1                 h0510ff6_4
        vs2015_runtime            14.16.27012          hf0eaf9b_3
        watchdog                  0.10.3                   py38_0
        wcwidth                   0.2.5                      py_0
        webencodings              0.5.1                    py38_1
        werkzeug                  1.0.1                      py_0
        wheel                     0.35.1             pyhd3eb1b0_0
        widgetsnbextension        3.5.1                    py38_0
        win_inet_pton             1.1.0            py38haa95532_0
        win_unicode_console       0.5                      py38_0
        wincertstore              0.2                      py38_0
        winpty                    0.4.3                         4
        wrapt                     1.11.2           py38he774522_0
        xlrd                      1.2.0                      py_0
        xlsxwriter                1.3.7                      py_0
        xlwings                   0.20.8                   py38_0
        xlwt                      1.3.0                    py38_0
        xmltodict                 0.12.0                     py_0
        xz                        5.2.5                h62dcd97_0
        yaml                      0.2.5                he774522_0
        yapf                      0.30.0                     py_0
        zeromq                    4.3.2                ha925a31_3
        zict                      2.0.0                      py_0
        zipp                      3.4.0              pyhd3eb1b0_0
        zlib                      1.2.11               h62dcd97_4
        zope                      1.0                      py38_1
        zope.event                4.5.0                    py38_0
        zope.interface            5.1.2            py38he774522_0
        zstd                      1.4.5                h04227a9_0

conda env:
        name: base
        channels:
          - conda-forge
          - defaults
        dependencies:
          - _anaconda_depends=2020.07=py38_0
          - _ipyw_jlab_nb_ext_conf=0.1.0=py38_0
          - alabaster=0.7.12=py_0
          - anaconda=custom=py38_1
          - anaconda-client=1.7.2=py38_0
          - anaconda-navigator=1.10.0=py38_0
          - anaconda-project=0.8.4=py_0
          - argh=0.26.2=py38_0
          - argon2-cffi=20.1.0=py38he774522_1
          - asn1crypto=1.4.0=py_0
          - astroid=2.4.2=py38_0
          - astropy=4.0.2=py38he774522_0
          - async_generator=1.10=py_0
          - atomicwrites=1.4.0=py_0
          - attrs=20.3.0=pyhd3eb1b0_0
          - autopep8=1.5.4=py_0
          - babel=2.8.1=pyhd3eb1b0_0
          - backcall=0.2.0=py_0
          - backports=1.0=pyhd3eb1b0_2
          - backports.functools_lru_cache=1.6.1=pyhd3eb1b0_0
          - backports.shutil_get_terminal_size=1.0.0=py38_2
          - backports.tempfile=1.0=py_1
          - backports.weakref=1.0.post1=py_1
          - bcrypt=3.2.0=py38he774522_0
          - beautifulsoup4=4.9.3=pyhb0f4dca_0
          - bitarray=1.6.1=py38h2bbff1b_0
          - bkcharts=0.2=py38_0
          - blas=1.0=mkl
          - bleach=3.2.1=py_0
          - blosc=1.20.1=h7bd577a_0
          - bokeh=2.2.3=py38_0
          - boto=2.49.0=py38_0
          - bottleneck=1.3.2=py38h2a96729_1
          - brotlipy=0.7.0=py38h2bbff1b_1003
          - bzip2=1.0.8=he774522_0
          - ca-certificates=2020.11.8=h5b45459_0
          - certifi=2020.11.8=py38haa244fe_0
          - cffi=1.14.3=py38hcd4344a_2
          - chardet=3.0.4=py38haa95532_1003
          - click=7.1.2=py_0
          - cloudpickle=1.6.0=py_0
          - clyent=1.2.2=py38_1
          - colorama=0.4.4=py_0
          - comtypes=1.1.7=py38_1001
          - conda=4.9.2=py38haa244fe_0
          - conda-build=3.20.5=py38_1
          - conda-env=2.6.0=1
          - conda-package-handling=1.7.2=py38h76e460a_0
          - conda-verify=3.4.2=py_1
          - console_shortcut=0.1.1=4
          - contextlib2=0.6.0.post1=py_0
          - cryptography=3.2.1=py38hcd4344a_1
          - curl=7.71.1=h2a8f88b_1
          - cycler=0.10.0=py38_0
          - cython=0.29.21=py38hd77b12b_0
          - cytoolz=0.11.0=py38he774522_0
          - dask=2.30.0=py_0
          - dask-core=2.30.0=py_0
          - decorator=4.4.2=py_0
          - defusedxml=0.6.0=py_0
          - diff-match-patch=20200713=py_0
          - distributed=2.30.1=py38haa95532_0
          - docutils=0.16=py38_1
          - entrypoints=0.3=py38_0
          - et_xmlfile=1.0.1=py_1001
          - fastcache=1.1.0=py38he774522_0
          - filelock=3.0.12=py_0
          - flake8=3.8.4=py_0
          - flask=1.1.2=py_0
          - freetype=2.10.4=hd328e21_0
          - fsspec=0.8.3=py_0
          - future=0.18.2=py38_1
          - get_terminal_size=1.0.0=h38e98db_0
          - gevent=20.9.0=py38he774522_0
          - gitdb=4.0.5=py_0
          - gitpython=3.1.11=py_0
          - glob2=0.7=py_0
          - gmpy2=2.0.8=py38h7edee0f_3
          - graphviz=2.38=hfd603c8_2
          - greenlet=0.4.17=py38he774522_0
          - h5py=2.10.0=py38h5e291fa_0
          - hdf5=1.10.4=h7ebc959_0
          - heapdict=1.0.1=py_0
          - html5lib=1.1=py_0
          - icc_rt=2019.0.0=h0cc432a_1
          - icu=58.2=ha925a31_3
          - idna=2.10=py_0
          - imageio=2.9.0=py_0
          - imagesize=1.2.0=py_0
          - importlib-metadata=2.0.0=py_1
          - importlib_metadata=2.0.0=1
          - iniconfig=1.1.1=py_0
          - intel-openmp=2020.2=254
          - intervaltree=3.1.0=py_0
          - ipykernel=5.3.4=py38h5ca1d4c_0
          - ipython=7.19.0=py38hd4e2768_0
          - ipython_genutils=0.2.0=py38_0
          - ipywidgets=7.5.1=py_1
          - isort=5.6.4=py_0
          - itsdangerous=1.1.0=py_0
          - jdcal=1.4.1=py_0
          - jedi=0.17.1=py38_0
          - jinja2=2.11.2=py_0
          - joblib=0.17.0=py_0
          - jpeg=9b=hb83a4c4_2
          - json5=0.9.5=py_0
          - jsonschema=3.2.0=py_2
          - jupyter=1.0.0=py38_7
          - jupyter_client=6.1.7=py_0
          - jupyter_console=6.2.0=py_0
          - jupyter_contrib_core=0.3.3=py_2
          - jupyter_contrib_nbextensions=0.5.1=py38h32f6830_1
          - jupyter_core=4.7.0=py38haa95532_0
          - jupyter_highlight_selected_word=0.2.0=py38h32f6830_1002
          - jupyter_latex_envs=1.4.6=py38h32f6830_1001
          - jupyter_nbextensions_configurator=0.4.1=py38h32f6830_2
          - jupyterlab=2.2.6=py_0
          - jupyterlab-git=0.23.2=pyhd8ed1ab_0
          - jupyterlab_pygments=0.1.2=py_0
          - jupyterlab_server=1.2.0=py_0
          - keyring=21.4.0=py38_1
          - kiwisolver=1.3.0=py38hd77b12b_0
          - krb5=1.18.2=hc04afaa_0
          - lazy-object-proxy=1.4.3=py38he774522_0
          - libarchive=3.4.2=h5e25573_0
          - libcurl=7.71.1=h2a8f88b_1
          - libiconv=1.15=h1df5818_7
          - liblief=0.10.1=ha925a31_0
          - libllvm9=9.0.1=h21ff451_0
          - libpng=1.6.37=h2a8f88b_0
          - libsodium=1.0.18=h62dcd97_0
          - libspatialindex=1.9.3=h33f27b4_0
          - libssh2=1.9.0=h7a1dbc1_1
          - libtiff=4.1.0=h56a325e_1
          - libxml2=2.9.10=hb89e7f3_3
          - libxslt=1.1.34=he774522_0
          - llvmlite=0.34.0=py38h1a82afc_4
          - locket=0.2.0=py38_1
          - lxml=4.6.1=py38h1350720_0
          - lz4-c=1.9.2=hf4a77e7_3
          - lzo=2.10=he774522_2
          - m2w64-gcc-libgfortran=5.3.0=6
          - m2w64-gcc-libs=5.3.0=7
          - m2w64-gcc-libs-core=5.3.0=7
          - m2w64-gmp=6.1.0=2
          - m2w64-libwinpthread-git=5.0.0.4634.697f757=2
          - markupsafe=1.1.1=py38he774522_0
          - matplotlib=3.3.2=0
          - matplotlib-base=3.3.2=py38hba9282a_0
          - mccabe=0.6.1=py38_1
          - menuinst=1.4.16=py38he774522_1
          - mistune=0.8.4=py38he774522_1000
          - mkl=2020.2=256
          - mkl-service=2.3.0=py38h2bbff1b_0
          - mkl_fft=1.2.0=py38h45dec08_0
          - mkl_random=1.1.1=py38h47e9c7a_0
          - mock=4.0.2=py_0
          - more-itertools=8.6.0=pyhd3eb1b0_0
          - mpc=1.1.0=h7edee0f_1
          - mpfr=4.0.2=h62dcd97_1
          - mpir=3.0.0=hec2e145_1
          - mpmath=1.1.0=py38_0
          - msgpack-python=1.0.0=py38h74a9793_1
          - msys2-conda-epoch=20160418=1
          - multipledispatch=0.6.0=py38_0
          - navigator-updater=0.2.1=py38_0
          - nbclient=0.5.1=py_0
          - nbconvert=6.0.7=py38_0
          - nbdime=2.1.0=py_0
          - nbformat=5.0.8=py_0
          - nest-asyncio=1.4.3=pyhd3eb1b0_0
          - networkx=2.5=py_0
          - nltk=3.5=py_0
          - nodejs=15.3.0=h57928b3_0
          - nose=1.3.7=py38_2
          - numba=0.51.2=py38hf9181ef_1
          - numexpr=2.7.1=py38h25d0782_0
          - numpy=1.19.2=py38hadc3359_0
          - numpy-base=1.19.2=py38ha3acd2a_0
          - numpydoc=1.1.0=pyhd3eb1b0_1
          - olefile=0.46=py_0
          - openpyxl=3.0.5=py_0
          - openssl=1.1.1h=he774522_0
          - packaging=20.4=py_0
          - pandas=1.1.3=py38ha925a31_0
          - pandoc=2.11=h9490d1a_0
          - pandocfilters=1.4.3=py38haa95532_1
          - paramiko=2.7.2=py_0
          - parso=0.7.0=py_0
          - partd=1.1.0=py_0
          - path=15.0.0=py38_0
          - path.py=12.5.0=0
          - pathlib2=2.3.5=py38_0
          - pathtools=0.1.2=py_1
          - patsy=0.5.1=py38_0
          - pep8=1.7.1=py38_0
          - pexpect=4.8.0=pyhd3eb1b0_3
          - pickleshare=0.7.5=py38_1000
          - pillow=8.0.1=py38h4fa10fc_0
          - pip=20.2.4=py38haa95532_0
          - pkginfo=1.6.1=py38haa95532_0
          - pluggy=0.13.1=py38_0
          - ply=3.11=py38_0
          - powershell_shortcut=0.0.1=3
          - prometheus_client=0.8.0=py_0
          - prompt-toolkit=3.0.8=py_0
          - prompt_toolkit=3.0.8=0
          - psutil=5.7.2=py38he774522_0
          - ptyprocess=0.6.0=pyhd3eb1b0_2
          - py=1.9.0=py_0
          - py-lief=0.10.1=py38ha925a31_0
          - pycodestyle=2.6.0=py_0
          - pycosat=0.6.3=py38h2bbff1b_0
          - pycparser=2.20=py_2
          - pycurl=7.43.0.6=py38h7a1dbc1_0
          - pydocstyle=5.1.1=py_0
          - pydot=1.4.1=py38_0
          - pyflakes=2.2.0=py_0
          - pygments=2.7.2=pyhd3eb1b0_0
          - pylint=2.6.0=py38_0
          - pynacl=1.4.0=py38h62dcd97_1
          - pyodbc=4.0.30=py38ha925a31_0
          - pyopenssl=19.1.0=pyhd3eb1b0_1
          - pyparsing=2.4.7=py_0
          - pyqt=5.9.2=py38ha925a31_4
          - pyreadline=2.1=py38_1
          - pyrsistent=0.17.3=py38he774522_0
          - pysocks=1.7.1=py38haa95532_0
          - pytables=3.6.1=py38ha5be198_0
          - pytest=6.1.1=py38_0
          - python=3.8.5=h5fd99cc_1
          - python-dateutil=2.8.1=py_0
          - python-jsonrpc-server=0.4.0=py_0
          - python-language-server=0.35.1=py_0
          - python-libarchive-c=2.9=py_0
          - python_abi=3.8=1_cp38
          - pywavelets=1.1.1=py38he774522_2
          - pywin32=227=py38he774522_1
          - pywin32-ctypes=0.2.0=py38_1000
          - pywinpty=0.5.7=py38_0
          - pyyaml=5.3.1=py38he774522_1
          - pyzmq=19.0.2=py38ha925a31_1
          - qdarkstyle=2.8.1=py_0
          - qt=5.9.7=vc14h73c81de_0
          - qtawesome=1.0.1=py_0
          - qtconsole=4.7.7=py_0
          - qtpy=1.9.0=py_0
          - regex=2020.10.15=py38he774522_0
          - requests=2.24.0=py_0
          - rope=0.18.0=py_0
          - rtree=0.9.4=py38h21ff451_1
          - ruamel_yaml=0.15.87=py38he774522_1
          - scikit-image=0.17.2=py38h1e1f486_0
          - scikit-learn=0.23.2=py38h47e9c7a_0
          - scipy=1.5.2=py38h14eb087_0
          - seaborn=0.11.0=py_0
          - send2trash=1.5.0=py38_0
          - setuptools=50.3.1=py38haa95532_1
          - simplegeneric=0.8.1=py38_2
          - singledispatch=3.4.0.3=py_1001
          - sip=4.19.13=py38ha925a31_0
          - six=1.15.0=py38haa95532_0
          - smmap=3.0.4=pyh9f0ad1d_0
          - snappy=1.1.8=h33f27b4_0
          - snowballstemmer=2.0.0=py_0
          - sortedcollections=1.2.1=py_0
          - sortedcontainers=2.2.2=py_0
          - soupsieve=2.0.1=py_0
          - sphinx=3.2.1=py_0
          - sphinxcontrib=1.0=py38_1
          - sphinxcontrib-applehelp=1.0.2=py_0
          - sphinxcontrib-devhelp=1.0.2=py_0
          - sphinxcontrib-htmlhelp=1.0.3=py_0
          - sphinxcontrib-jsmath=1.0.1=py_0
          - sphinxcontrib-qthelp=1.0.3=py_0
          - sphinxcontrib-serializinghtml=1.1.4=py_0
          - sphinxcontrib-websupport=1.2.4=py_0
          - spyder=4.1.5=py38_0
          - spyder-kernels=1.9.4=py38_0
          - sqlalchemy=1.3.20=py38h2bbff1b_0
          - sqlite=3.33.0=h2a8f88b_0
          - statsmodels=0.12.0=py38he774522_0
          - sympy=1.6.2=py38haa95532_1
          - tbb=2020.3=h74a9793_0
          - tblib=1.7.0=py_0
          - terminado=0.9.1=py38_0
          - testpath=0.4.4=py_0
          - threadpoolctl=2.1.0=pyh5ca1d4c_0
          - tifffile=2020.10.1=py38h8c2d366_2
          - tk=8.6.10=he774522_0
          - toml=0.10.1=py_0
          - toolz=0.11.1=py_0
          - tornado=6.0.4=py38he774522_1
          - tqdm=4.51.0=pyhd3eb1b0_0
          - traitlets=5.0.5=py_0
          - typing_extensions=3.7.4.3=py_0
          - ujson=4.0.1=py38ha925a31_0
          - unicodecsv=0.14.1=py38_0
          - urllib3=1.25.11=py_0
          - vc=14.1=h0510ff6_4
          - vs2015_runtime=14.16.27012=hf0eaf9b_3
          - watchdog=0.10.3=py38_0
          - wcwidth=0.2.5=py_0
          - webencodings=0.5.1=py38_1
          - werkzeug=1.0.1=py_0
          - wheel=0.35.1=pyhd3eb1b0_0
          - widgetsnbextension=3.5.1=py38_0
          - win_inet_pton=1.1.0=py38haa95532_0
          - win_unicode_console=0.5=py38_0
          - wincertstore=0.2=py38_0
          - winpty=0.4.3=4
          - wrapt=1.11.2=py38he774522_0
          - xlrd=1.2.0=py_0
          - xlsxwriter=1.3.7=py_0
          - xlwings=0.20.8=py38_0
          - xlwt=1.3.0=py38_0
          - xmltodict=0.12.0=py_0
          - xz=5.2.5=h62dcd97_0
          - yaml=0.2.5=he774522_0
          - yapf=0.30.0=py_0
          - zeromq=4.3.2=ha925a31_3
          - zict=2.0.0=py_0
          - zipp=3.4.0=pyhd3eb1b0_0
          - zlib=1.2.11=h62dcd97_4
          - zope=1.0=py38_1
          - zope.event=4.5.0=py38_0
          - zope.interface=5.1.2=py38he774522_0
          - zstd=1.4.5=h04227a9_0
          - pip:
            - fastcore==1.3.9
            - gputil==1.4.0
            - humanize==3.1.0
            - nbd-colab==0.0.10
            - nbdev==1.1.5
            - notebook==6.1.4
            - pytz==2020.1
        prefix: C:\ProgramData\Anaconda3
glicerico commented 3 years ago

I get the same problem described by this issue on Ubuntu 18.04. @hamelsmu I just ran nbdev_build_docs in the docker container as you suggested, and it works there.

carlosrojas commented 3 years ago

I think this has something to do with nbconvert when I use pip to install nbdev (which uses nbconvert=5.6.1) everything works. However, when I use anaconda, which uses the latest version of nbconvert (6.x) I get a similar error.

glicerico commented 3 years ago

@carlosrojas, I just checked and I am using nbconvert=5.6.1, and do get the error... so it's probably something else :(

hiromis commented 3 years ago

Looks like template_path got renamed to template_paths in nbconvert >= 6.0.0

https://github.com/jupyter/nbconvert/blob/167361cd30981bb28b521332c8ef56cca5e19281/docs/source/changelog.rst#significant-changes

hiromis commented 3 years ago

Okay, so I think I know what happened. nbdev is not ready for nbconvert:6+ https://github.com/fastai/nbdev/issues/249. The code is still there (https://github.com/fastai/nbdev/blob/master/settings.ini#L18) but somehow in the environment I am using, nbconvert got upgraded to 6.0.7.

I uninstalled nbdev and installed it again (via pip uninstall nbdev then pip install nbdev) which appropriately downgraded the dependency:

Screen Shot 2021-01-11 at 3 26 27 PM

jnareb commented 3 years ago

I can confirm that reinstalling the nbdev fixed the issue.

hamelsmu commented 3 years ago

I can confirm that reinstalling the nbdev fixed the issue.

Thanks! Closing issue

gsilvers commented 3 years ago

Hi All,

Just wanted to state I had this issue as well. This isn't really a problem with NBDEV as it is anaconda. I'm not sure how anaconda determines dependencies but it is installing a far too new version of NBCONVERT. PIP does the right thing though. While not optimal for those trying to use Anaconda as the package manager.

michaelaye commented 3 years ago

Also same issue here. This basically forces me to pin nbconvert to stay at 5.x for now, because any conda update --all would upgrade it. Pinning can be done in a conda env like so:

conda config --env --add pinned_packages nbconvert=5 

and then your sources configs have this entry:

$ conda config --show-sources                                                       (py38) 
==> /u/paige/maye/.condarc <==
channel_priority: strict

==> /luna4/maye/miniconda3/envs/py38/.condarc <==
pinned_packages:
  - nbconvert=5
channels:
  - conda-forge