jupyter / nbclassic

Jupyter Notebook as a Jupyter Server extension
https://nbclassic.readthedocs.io/en/latest
BSD 3-Clause "New" or "Revised" License
69 stars 60 forks source link

0.5.6: pep517 build fails because missing bower #248

Closed kloczek closed 1 year ago

kloczek commented 1 year ago
+ /usr/bin/python3 -sBm build -w --no-isolation
* Getting build dependencies for wheel...
running egg_info
creating nbclassic.egg-info
writing nbclassic.egg-info/PKG-INFO
writing dependency_links to nbclassic.egg-info/dependency_links.txt
writing entry points to nbclassic.egg-info/entry_points.txt
writing requirements to nbclassic.egg-info/requires.txt
writing top-level names to nbclassic.egg-info/top_level.txt
writing manifest file 'nbclassic.egg-info/SOURCES.txt'
/usr/lib/python3.8/site-packages/setuptools/command/sdist.py:119: SetuptoolsDeprecationWarning: `build_py` command does not inherit from setuptools' `build_py`.
!!

        ********************************************************************************
        Custom 'build_py' does not implement 'get_data_files_without_manifest'.
        Please extend command classes from setuptools instead of distutils.

        See https://peps.python.org/pep-0632/ for details.
        ********************************************************************************

!!
  self._add_data_files(self._safe_data_files(build_py))
reading manifest file 'nbclassic.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'Dockerfile'
warning: no directories found matching 'notebook/tests'
warning: no directories found matching 'notebook/i18n'
warning: no previously-included files found matching 'docs/#*'
warning: no directories found matching 'examples'
no previously-included directories found matching 'docs/build'
no previously-included directories found matching 'docs/gh-pages'
no previously-included directories found matching 'docs/dist'
no previously-included directories found matching 'git-hooks'
no previously-included directories found matching 'docs-translations'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.pyo' found anywhere in distribution
warning: no previously-included files matching '.git' found anywhere in distribution
warning: no previously-included files matching '.ipynb_checkpoints' found anywhere in distribution
adding license file 'LICENSE'
writing manifest file 'nbclassic.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running jsversion
running js
running jsdeps
npm unavailable
> bower install --allow-root --config.interactive=false
Failed to run bower: [Errno 2] No such file or directory: 'bower'
You can install js dependencies with `npm install`
rebuilding js and css failed. The following required files are missing: ['nbclassic/static/components', 'nbclassic/static/notebook/js/main.min.js', 'nbclassic/static/tree/js/main.min.js', 'nbclassic/static/edit/js/main.min.js', 'nbclassic/static/terminal/js/main.min.js', 'nbclassic/static/auth/js/main.min.js', 'nbclassic/static/style/ipython.min.css', 'nbclassic/static/style/style.min.css']
error: [Errno 2] No such file or directory: 'bower'

ERROR Backend subprocess exited when trying to invoke build_wheel

I cannot find bower on pypi 🤔

echarles commented 1 year ago

Have you run pip install -e .?

kloczek commented 1 year ago

Usually I'm installing all dependencies out of my rpm packages .. owever in this case I've ested that command and ..

[tkloczko@pers-jacek nbclassic-0.5.6]$ pip install -e .
Defaulting to user installation because normal site-packages is not writeable
Obtaining file:///home/tkloczko/rpmbuild/BUILD/nbclassic-0.5.6
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: jinja2 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (3.1.2)
Requirement already satisfied: tornado>=6.1 in /usr/lib64/python3.8/site-packages (from nbclassic==0.5.6) (6.2)
Requirement already satisfied: pyzmq>=17 in /usr/lib64/python3.8/site-packages (from nbclassic==0.5.6) (24.0.1)
Requirement already satisfied: argon2-cffi in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (21.3.0)
Requirement already satisfied: traitlets>=4.2.1 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (5.9.0)
Requirement already satisfied: jupyter-core>=4.6.1 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (5.3.0)
Requirement already satisfied: jupyter-client>=6.1.1 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (8.2.0)
Requirement already satisfied: ipython-genutils in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (0.2.0)
Requirement already satisfied: jupyter-server>=1.8 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (2.5.0)
Requirement already satisfied: nbformat in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (5.8.0)
Requirement already satisfied: notebook-shim>=0.2.3 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (0.2.3)
Requirement already satisfied: nbconvert>=5 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (7.3.1)
Requirement already satisfied: nest-asyncio>=1.5 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (1.5.6)
Requirement already satisfied: ipykernel in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (6.22.0)
Requirement already satisfied: Send2Trash>=1.8.0 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (1.8.0)
Requirement already satisfied: terminado>=0.8.3 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (0.17.1)
Requirement already satisfied: prometheus-client in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (0.16.0)
Requirement already satisfied: importlib-metadata>=4.8.3 in /usr/lib/python3.8/site-packages (from jupyter-client>=6.1.1->nbclassic==0.5.6) (6.6.0)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/lib/python3.8/site-packages (from jupyter-client>=6.1.1->nbclassic==0.5.6) (2.8.2)
Requirement already satisfied: platformdirs>=2.5 in /usr/lib/python3.8/site-packages (from jupyter-core>=4.6.1->nbclassic==0.5.6) (3.1.1)
Requirement already satisfied: anyio>=3.1.0 in /usr/lib/python3.8/site-packages (from jupyter-server>=1.8->nbclassic==0.5.6) (3.6.2)
Requirement already satisfied: jupyter-events>=0.4.0 in /usr/lib/python3.8/site-packages (from jupyter-server>=1.8->nbclassic==0.5.6) (0.6.3)
Requirement already satisfied: jupyter-server-terminals in /usr/lib/python3.8/site-packages (from jupyter-server>=1.8->nbclassic==0.5.6) (0.4.4)
Requirement already satisfied: packaging in /usr/lib/python3.8/site-packages (from jupyter-server>=1.8->nbclassic==0.5.6) (23.1)
Requirement already satisfied: websocket-client in /usr/lib/python3.8/site-packages (from jupyter-server>=1.8->nbclassic==0.5.6) (1.5.1)
Requirement already satisfied: beautifulsoup4 in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (4.12.2)
Requirement already satisfied: bleach in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (6.0.0)
Requirement already satisfied: defusedxml in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (0.1.2)
Requirement already satisfied: markupsafe>=2.0 in /usr/lib64/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (2.1.2)
Requirement already satisfied: mistune<3,>=2.0.3 in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (2.0.5)
Requirement already satisfied: nbclient>=0.5.0 in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (0.7.4)
Requirement already satisfied: pandocfilters>=1.4.1 in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (1.5.0)
Requirement already satisfied: pygments>=2.4.1 in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (2.15.1)
Requirement already satisfied: tinycss2 in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (1.2.1)
Requirement already satisfied: fastjsonschema in /usr/lib/python3.8/site-packages (from nbformat->nbclassic==0.5.6) (2.16.3)
Requirement already satisfied: jsonschema>=2.6 in /usr/lib/python3.8/site-packages (from nbformat->nbclassic==0.5.6) (4.17.3)
Requirement already satisfied: ptyprocess in /usr/lib/python3.8/site-packages (from terminado>=0.8.3->nbclassic==0.5.6) (0.7.0)
Requirement already satisfied: argon2-cffi-bindings in /usr/lib64/python3.8/site-packages (from argon2-cffi->nbclassic==0.5.6) (21.2.0)
Requirement already satisfied: comm>=0.1.1 in /usr/lib/python3.8/site-packages (from ipykernel->nbclassic==0.5.6) (0.1.2)
Requirement already satisfied: debugpy>=1.6.5 in /usr/lib64/python3.8/site-packages (from ipykernel->nbclassic==0.5.6) (1.6.7)
Requirement already satisfied: ipython>=7.23.1 in /usr/lib/python3.8/site-packages (from ipykernel->nbclassic==0.5.6) (8.12.0)
Requirement already satisfied: matplotlib-inline>=0.1 in /usr/lib/python3.8/site-packages (from ipykernel->nbclassic==0.5.6) (0.1.6)
Requirement already satisfied: psutil in /usr/lib64/python3.8/site-packages (from ipykernel->nbclassic==0.5.6) (5.9.2)
Requirement already satisfied: idna>=2.8 in /usr/lib/python3.8/site-packages (from anyio>=3.1.0->jupyter-server>=1.8->nbclassic==0.5.6) (3.4)
Requirement already satisfied: sniffio>=1.1 in /usr/lib/python3.8/site-packages (from anyio>=3.1.0->jupyter-server>=1.8->nbclassic==0.5.6) (1.2.0)
Requirement already satisfied: zipp>=0.5 in /usr/lib/python3.8/site-packages (from importlib-metadata>=4.8.3->jupyter-client>=6.1.1->nbclassic==0.5.6) (3.15.0)
Requirement already satisfied: backcall in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.2.0)
Requirement already satisfied: decorator in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (5.1.1)
Requirement already satisfied: jedi>=0.16 in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.18.2)
Requirement already satisfied: pickleshare in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.7.5)
Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (3.0.38)
Requirement already satisfied: stack-data in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.6.2)
Requirement already satisfied: typing-extensions in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (4.5.0)
Requirement already satisfied: pexpect>4.3 in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (4.8.0)
Requirement already satisfied: attrs>=17.4.0 in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (23.1.0)
Requirement already satisfied: importlib-resources>=1.4.0 in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (5.12.0)
Requirement already satisfied: pkgutil-resolve-name>=1.3.10 in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (1.3.10)
Requirement already satisfied: pyrsistent>=0.17.2 in /usr/lib64/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (0.19.3)
Requirement already satisfied: python-json-logger>=2.0.4 in /usr/lib/python3.8/site-packages (from jupyter-events>=0.4.0->jupyter-server>=1.8->nbclassic==0.5.6) (2.0.7)
Requirement already satisfied: pyyaml>=5.3 in /usr/lib64/python3.8/site-packages (from jupyter-events>=0.4.0->jupyter-server>=1.8->nbclassic==0.5.6) (6.0)
Requirement already satisfied: rfc3339-validator in /usr/lib/python3.8/site-packages (from jupyter-events>=0.4.0->jupyter-server>=1.8->nbclassic==0.5.6) (0.1.4)
Requirement already satisfied: rfc3986-validator>=0.1.1 in /usr/lib/python3.8/site-packages (from jupyter-events>=0.4.0->jupyter-server>=1.8->nbclassic==0.5.6) (0.1.1)
Requirement already satisfied: six>=1.5 in /usr/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.1->nbclassic==0.5.6) (1.16.0)
Requirement already satisfied: cffi>=1.0.1 in /usr/lib64/python3.8/site-packages (from argon2-cffi-bindings->argon2-cffi->nbclassic==0.5.6) (1.15.1)
Requirement already satisfied: soupsieve>1.2 in /usr/lib/python3.8/site-packages (from beautifulsoup4->nbconvert>=5->nbclassic==0.5.6) (2.4.1)
Requirement already satisfied: webencodings in /usr/lib/python3.8/site-packages (from bleach->nbconvert>=5->nbclassic==0.5.6) (0.5.1)
Requirement already satisfied: pycparser in /usr/lib/python3.8/site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->nbclassic==0.5.6) (2.21)
Requirement already satisfied: parso<0.9.0,>=0.8.0 in /usr/lib/python3.8/site-packages (from jedi>=0.16->ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.8.3)
Requirement already satisfied: fqdn in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (1.5.1)
Requirement already satisfied: isoduration in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (20.11.0)
Requirement already satisfied: jsonpointer>1.13 in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (2.2)
Requirement already satisfied: uri-template in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (1.2.0)
Requirement already satisfied: webcolors>=1.11 in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (1.13)
Requirement already satisfied: wcwidth in /usr/lib/python3.8/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.2.6)
Requirement already satisfied: executing>=1.2.0 in /usr/lib/python3.8/site-packages (from stack-data->ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (1.2.0)
Requirement already satisfied: asttokens>=2.1.0 in /usr/lib/python3.8/site-packages (from stack-data->ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (2.2.1)
Requirement already satisfied: pure-eval in /usr/lib/python3.8/site-packages (from stack-data->ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.2.2)
Requirement already satisfied: arrow>=0.15.0 in /usr/lib/python3.8/site-packages (from isoduration->jsonschema>=2.6->nbformat->nbclassic==0.5.6) (1.2.3)
Requirement already satisfied: ply==3.11 in /usr/lib/python3.8/site-packages (from pycparser->cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->nbclassic==0.5.6) (3.11)
Installing collected packages: nbclassic
  Running setup.py develop for nbclassic
    error: subprocess-exited-with-error

    × python setup.py develop did not run successfully.
    │ exit code: 1
    ╰─> [40 lines of output]
        running develop
        /tmp/pip-build-env-wp5v507b/overlay/lib/python3.8/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
        !!

                ********************************************************************************
                Please avoid running ``setup.py`` and ``easy_install``.
                Instead, use pypa/build, pypa/installer, pypa/build or
                other standards-based tools.

                See https://github.com/pypa/setuptools/issues/917 for details.
                ********************************************************************************

        !!
          easy_install.initialize_options(self)
        WARNING: The user site-packages directory is disabled.
        Checking .pth file support in /home/tkloczko/.local/lib/python3.8/site-packages
        /usr/bin/python3 -E -c pass
        TEST PASSED: /home/tkloczko/.local/lib/python3.8/site-packages appears to support .pth files
        running jsversion
        running js
        running jsdeps
        > bower install --allow-root --config.interactive=false
        /tmp/pip-build-env-wp5v507b/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
        !!

                ********************************************************************************
                Please avoid running ``setup.py`` directly.
                Instead, use pypa/build, pypa/installer, pypa/build or
                other standards-based tools.

                See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
                ********************************************************************************

        !!
          self.initialize_options()
        npm unavailable
        Failed to run bower: [Errno 2] No such file or directory: 'bower'
        You can install js dependencies with `npm install`
        rebuilding js and css failed. The following required files are missing: ['nbclassic/static/components', 'nbclassic/static/notebook/js/main.min.js', 'nbclassic/static/tree/js/main.min.js', 'nbclassic/static/edit/js/main.min.js', 'nbclassic/static/terminal/js/main.min.js', 'nbclassic/static/auth/js/main.min.js', 'nbclassic/static/style/ipython.min.css', 'nbclassic/static/style/style.min.css']
        error: [Errno 2] No such file or directory: 'bower'
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× python setup.py develop did not run successfully.
│ exit code: 1
╰─> [40 lines of output]
    running develop
    /tmp/pip-build-env-wp5v507b/overlay/lib/python3.8/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
    !!

            ********************************************************************************
            Please avoid running ``setup.py`` and ``easy_install``.
            Instead, use pypa/build, pypa/installer, pypa/build or
            other standards-based tools.

            See https://github.com/pypa/setuptools/issues/917 for details.
            ********************************************************************************

    !!
      easy_install.initialize_options(self)
    WARNING: The user site-packages directory is disabled.
    Checking .pth file support in /home/tkloczko/.local/lib/python3.8/site-packages
    /usr/bin/python3 -E -c pass
    TEST PASSED: /home/tkloczko/.local/lib/python3.8/site-packages appears to support .pth files
    running jsversion
    running js
    running jsdeps
    > bower install --allow-root --config.interactive=false
    /tmp/pip-build-env-wp5v507b/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
    !!

            ********************************************************************************
            Please avoid running ``setup.py`` directly.
            Instead, use pypa/build, pypa/installer, pypa/build or
            other standards-based tools.

            See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
            ********************************************************************************

    !!
      self.initialize_options()
    npm unavailable
    Failed to run bower: [Errno 2] No such file or directory: 'bower'
    You can install js dependencies with `npm install`
    rebuilding js and css failed. The following required files are missing: ['nbclassic/static/components', 'nbclassic/static/notebook/js/main.min.js', 'nbclassic/static/tree/js/main.min.js', 'nbclassic/static/edit/js/main.min.js', 'nbclassic/static/terminal/js/main.min.js', 'nbclassic/static/auth/js/main.min.js', 'nbclassic/static/style/ipython.min.css', 'nbclassic/static/style/style.min.css']
    error: [Errno 2] No such file or directory: 'bower'
    [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
kloczek commented 1 year ago

Looks like that bower it could be https://www.jetbrains.com/help/webstorm/using-bower-package-manager.html Is it really necessary to have installed yet-another-package-management-tool to have installed few .js files? 🤔

echarles commented 1 year ago

bower should not be needed in your env as the build system is taking care of making it available for you. I have just tested on my env which does not have bower and it works fine. Maybe @RRosio or @ericsnekbytes can confirm that?

kloczek commented 1 year ago

Did you try to use pep517 build based procedure? (python3 -sBm build -w --no-isolation) as I did? 🤔

echarles commented 1 year ago

Just tried your command and it is failing with other errors, but this is expected. Using the build package is not supported.

kloczek commented 1 year ago

PEP documents are describing some python standards https://peps.python.org/pep-0517/. At the moment using python setup.py is already deprecated (warning abut that it will be deprecated where printed in last three years). If you don't like build please use pip --use-pep517.

echarles commented 1 year ago

pip install --use-pep517 -e . works fine on my env.

kloczek commented 1 year ago
[tkloczko@pers-jacek nbclassic-0.5.6]$ pip install --use-pep517 -e .
Defaulting to user installation because normal site-packages is not writeable
Obtaining file:///home/tkloczko/rpmbuild/BUILD/nbclassic-0.5.6
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: jinja2 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (3.1.2)
Requirement already satisfied: tornado>=6.1 in /usr/lib64/python3.8/site-packages (from nbclassic==0.5.6) (6.2)
Requirement already satisfied: pyzmq>=17 in /usr/lib64/python3.8/site-packages (from nbclassic==0.5.6) (24.0.1)
Requirement already satisfied: argon2-cffi in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (21.3.0)
Requirement already satisfied: traitlets>=4.2.1 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (5.9.0)
Requirement already satisfied: jupyter-core>=4.6.1 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (5.3.0)
Requirement already satisfied: jupyter-client>=6.1.1 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (8.2.0)
Collecting ipython-genutils (from nbclassic==0.5.6)
  Using cached ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB)
Requirement already satisfied: jupyter-server>=1.8 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (2.5.0)
Requirement already satisfied: nbformat in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (5.8.0)
Requirement already satisfied: notebook-shim>=0.2.3 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (0.2.3)
Requirement already satisfied: nbconvert>=5 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (7.3.1)
Collecting nest-asyncio>=1.5 (from nbclassic==0.5.6)
  Using cached nest_asyncio-1.5.6-py3-none-any.whl (5.2 kB)
Collecting ipykernel (from nbclassic==0.5.6)
  Using cached ipykernel-6.22.0-py3-none-any.whl (149 kB)
Requirement already satisfied: Send2Trash>=1.8.0 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (1.8.2)
Requirement already satisfied: terminado>=0.8.3 in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (0.17.1)
Requirement already satisfied: prometheus-client in /usr/lib/python3.8/site-packages (from nbclassic==0.5.6) (0.16.0)
Requirement already satisfied: importlib-metadata>=4.8.3 in /usr/lib/python3.8/site-packages (from jupyter-client>=6.1.1->nbclassic==0.5.6) (6.6.0)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/lib/python3.8/site-packages (from jupyter-client>=6.1.1->nbclassic==0.5.6) (2.8.2)
Requirement already satisfied: platformdirs>=2.5 in /usr/lib/python3.8/site-packages (from jupyter-core>=4.6.1->nbclassic==0.5.6) (3.1.1)
Requirement already satisfied: anyio>=3.1.0 in /usr/lib/python3.8/site-packages (from jupyter-server>=1.8->nbclassic==0.5.6) (3.6.2)
Requirement already satisfied: jupyter-events>=0.4.0 in /usr/lib/python3.8/site-packages (from jupyter-server>=1.8->nbclassic==0.5.6) (0.6.3)
Requirement already satisfied: jupyter-server-terminals in /usr/lib/python3.8/site-packages (from jupyter-server>=1.8->nbclassic==0.5.6) (0.4.4)
Requirement already satisfied: packaging in /usr/lib/python3.8/site-packages (from jupyter-server>=1.8->nbclassic==0.5.6) (23.1)
Requirement already satisfied: websocket-client in /usr/lib/python3.8/site-packages (from jupyter-server>=1.8->nbclassic==0.5.6) (1.5.1)
Requirement already satisfied: beautifulsoup4 in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (4.12.2)
Requirement already satisfied: bleach in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (6.0.0)
Requirement already satisfied: defusedxml in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (0.1.2)
Requirement already satisfied: markupsafe>=2.0 in /usr/lib64/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (2.1.2)
Requirement already satisfied: mistune<3,>=2.0.3 in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (2.0.5)
Requirement already satisfied: nbclient>=0.5.0 in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (0.7.4)
Requirement already satisfied: pandocfilters>=1.4.1 in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (1.5.0)
Requirement already satisfied: pygments>=2.4.1 in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (2.15.1)
Requirement already satisfied: tinycss2 in /usr/lib/python3.8/site-packages (from nbconvert>=5->nbclassic==0.5.6) (1.2.1)
Requirement already satisfied: fastjsonschema in /usr/lib/python3.8/site-packages (from nbformat->nbclassic==0.5.6) (2.16.3)
Requirement already satisfied: jsonschema>=2.6 in /usr/lib/python3.8/site-packages (from nbformat->nbclassic==0.5.6) (4.17.3)
Requirement already satisfied: ptyprocess in /usr/lib/python3.8/site-packages (from terminado>=0.8.3->nbclassic==0.5.6) (0.7.0)
Requirement already satisfied: argon2-cffi-bindings in /usr/lib64/python3.8/site-packages (from argon2-cffi->nbclassic==0.5.6) (21.2.0)
Collecting comm>=0.1.1 (from ipykernel->nbclassic==0.5.6)
  Using cached comm-0.1.3-py3-none-any.whl (6.6 kB)
Requirement already satisfied: debugpy>=1.6.5 in /usr/lib64/python3.8/site-packages (from ipykernel->nbclassic==0.5.6) (1.6.7)
Requirement already satisfied: ipython>=7.23.1 in /usr/lib/python3.8/site-packages (from ipykernel->nbclassic==0.5.6) (8.12.0)
Requirement already satisfied: matplotlib-inline>=0.1 in /usr/lib/python3.8/site-packages (from ipykernel->nbclassic==0.5.6) (0.1.6)
Requirement already satisfied: psutil in /usr/lib64/python3.8/site-packages (from ipykernel->nbclassic==0.5.6) (5.9.2)
Requirement already satisfied: idna>=2.8 in /usr/lib/python3.8/site-packages (from anyio>=3.1.0->jupyter-server>=1.8->nbclassic==0.5.6) (3.4)
Requirement already satisfied: sniffio>=1.1 in /usr/lib/python3.8/site-packages (from anyio>=3.1.0->jupyter-server>=1.8->nbclassic==0.5.6) (1.2.0)
Requirement already satisfied: zipp>=0.5 in /usr/lib/python3.8/site-packages (from importlib-metadata>=4.8.3->jupyter-client>=6.1.1->nbclassic==0.5.6) (3.15.0)
Requirement already satisfied: backcall in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.2.0)
Requirement already satisfied: decorator in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (5.1.1)
Requirement already satisfied: jedi>=0.16 in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.18.2)
Requirement already satisfied: pickleshare in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.7.5)
Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (3.0.38)
Requirement already satisfied: stack-data in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.6.2)
Requirement already satisfied: typing-extensions in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (4.5.0)
Requirement already satisfied: pexpect>4.3 in /usr/lib/python3.8/site-packages (from ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (4.8.0)
Requirement already satisfied: attrs>=17.4.0 in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (23.1.0)
Requirement already satisfied: importlib-resources>=1.4.0 in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (5.12.0)
Requirement already satisfied: pkgutil-resolve-name>=1.3.10 in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (1.3.10)
Requirement already satisfied: pyrsistent>=0.17.2 in /usr/lib64/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (0.19.3)
Requirement already satisfied: python-json-logger>=2.0.4 in /usr/lib/python3.8/site-packages (from jupyter-events>=0.4.0->jupyter-server>=1.8->nbclassic==0.5.6) (2.0.7)
Requirement already satisfied: pyyaml>=5.3 in /usr/lib64/python3.8/site-packages (from jupyter-events>=0.4.0->jupyter-server>=1.8->nbclassic==0.5.6) (6.0)
Requirement already satisfied: rfc3339-validator in /usr/lib/python3.8/site-packages (from jupyter-events>=0.4.0->jupyter-server>=1.8->nbclassic==0.5.6) (0.1.4)
Requirement already satisfied: rfc3986-validator>=0.1.1 in /usr/lib/python3.8/site-packages (from jupyter-events>=0.4.0->jupyter-server>=1.8->nbclassic==0.5.6) (0.1.1)
Requirement already satisfied: six>=1.5 in /usr/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.1->nbclassic==0.5.6) (1.16.0)
Requirement already satisfied: cffi>=1.0.1 in /usr/lib64/python3.8/site-packages (from argon2-cffi-bindings->argon2-cffi->nbclassic==0.5.6) (1.15.1)
Requirement already satisfied: soupsieve>1.2 in /usr/lib/python3.8/site-packages (from beautifulsoup4->nbconvert>=5->nbclassic==0.5.6) (2.4.1)
Requirement already satisfied: webencodings in /usr/lib/python3.8/site-packages (from bleach->nbconvert>=5->nbclassic==0.5.6) (0.5.1)
Requirement already satisfied: pycparser in /usr/lib/python3.8/site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->nbclassic==0.5.6) (2.21)
Requirement already satisfied: parso<0.9.0,>=0.8.0 in /usr/lib/python3.8/site-packages (from jedi>=0.16->ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.8.3)
Requirement already satisfied: fqdn in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (1.5.1)
Requirement already satisfied: isoduration in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (20.11.0)
Requirement already satisfied: jsonpointer>1.13 in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (2.2)
Requirement already satisfied: uri-template in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (1.2.0)
Requirement already satisfied: webcolors>=1.11 in /usr/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat->nbclassic==0.5.6) (1.13)
Requirement already satisfied: wcwidth in /usr/lib/python3.8/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.2.6)
Requirement already satisfied: executing>=1.2.0 in /usr/lib/python3.8/site-packages (from stack-data->ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (1.2.0)
Requirement already satisfied: asttokens>=2.1.0 in /usr/lib/python3.8/site-packages (from stack-data->ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (2.2.1)
Requirement already satisfied: pure-eval in /usr/lib/python3.8/site-packages (from stack-data->ipython>=7.23.1->ipykernel->nbclassic==0.5.6) (0.2.2)
Requirement already satisfied: arrow>=0.15.0 in /usr/lib/python3.8/site-packages (from isoduration->jsonschema>=2.6->nbformat->nbclassic==0.5.6) (1.2.3)
Requirement already satisfied: ply==3.11 in /usr/lib/python3.8/site-packages (from pycparser->cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->nbclassic==0.5.6) (3.11)
Installing collected packages: ipython-genutils, nest-asyncio, comm, ipykernel, nbclassic
  Running setup.py develop for nbclassic
    error: subprocess-exited-with-error

    × python setup.py develop did not run successfully.
    │ exit code: 1
    ╰─> [40 lines of output]
        running develop
        /tmp/pip-build-env-clr54151/overlay/lib/python3.8/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
        !!

                ********************************************************************************
                Please avoid running ``setup.py`` and ``easy_install``.
                Instead, use pypa/build, pypa/installer, pypa/build or
                other standards-based tools.

                See https://github.com/pypa/setuptools/issues/917 for details.
                ********************************************************************************

        !!
          easy_install.initialize_options(self)
        WARNING: The user site-packages directory is disabled.
        Checking .pth file support in /home/tkloczko/.local/lib/python3.8/site-packages
        /usr/bin/python3 -E -c pass
        TEST PASSED: /home/tkloczko/.local/lib/python3.8/site-packages appears to support .pth files
        running jsversion
        running js
        running jsdeps
        > bower install --allow-root --config.interactive=false
        /tmp/pip-build-env-clr54151/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
        !!

                ********************************************************************************
                Please avoid running ``setup.py`` directly.
                Instead, use pypa/build, pypa/installer, pypa/build or
                other standards-based tools.

                See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
                ********************************************************************************

        !!
          self.initialize_options()
        npm unavailable
        Failed to run bower: [Errno 2] No such file or directory: 'bower'
        You can install js dependencies with `npm install`
        rebuilding js and css failed. The following required files are missing: ['nbclassic/static/components', 'nbclassic/static/notebook/js/main.min.js', 'nbclassic/static/tree/js/main.min.js', 'nbclassic/static/edit/js/main.min.js', 'nbclassic/static/terminal/js/main.min.js', 'nbclassic/static/auth/js/main.min.js', 'nbclassic/static/style/ipython.min.css', 'nbclassic/static/style/style.min.css']
        error: [Errno 2] No such file or directory: 'bower'
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× python setup.py develop did not run successfully.
│ exit code: 1
╰─> [40 lines of output]
    running develop
    /tmp/pip-build-env-clr54151/overlay/lib/python3.8/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
    !!

            ********************************************************************************
            Please avoid running ``setup.py`` and ``easy_install``.
            Instead, use pypa/build, pypa/installer, pypa/build or
            other standards-based tools.

            See https://github.com/pypa/setuptools/issues/917 for details.
            ********************************************************************************

    !!
      easy_install.initialize_options(self)
    WARNING: The user site-packages directory is disabled.
    Checking .pth file support in /home/tkloczko/.local/lib/python3.8/site-packages
    /usr/bin/python3 -E -c pass
    TEST PASSED: /home/tkloczko/.local/lib/python3.8/site-packages appears to support .pth files
    running jsversion
    running js
    running jsdeps
    > bower install --allow-root --config.interactive=false
    /tmp/pip-build-env-clr54151/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
    !!

            ********************************************************************************
            Please avoid running ``setup.py`` directly.
            Instead, use pypa/build, pypa/installer, pypa/build or
            other standards-based tools.

            See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
            ********************************************************************************

    !!
      self.initialize_options()
    npm unavailable
    Failed to run bower: [Errno 2] No such file or directory: 'bower'
    You can install js dependencies with `npm install`
    rebuilding js and css failed. The following required files are missing: ['nbclassic/static/components', 'nbclassic/static/notebook/js/main.min.js', 'nbclassic/static/tree/js/main.min.js', 'nbclassic/static/edit/js/main.min.js', 'nbclassic/static/terminal/js/main.min.js', 'nbclassic/static/auth/js/main.min.js', 'nbclassic/static/style/ipython.min.css', 'nbclassic/static/style/style.min.css']
    error: [Errno 2] No such file or directory: 'bower'
    [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.

May I ask you which one version of the setuptool you are using? In my case it is

[tkloczko@pers-jacek nbclassic-0.5.6]$ pip show setuptools
Name: setuptools
Version: 67.7.2
Summary: Easily download, build, install, upgrade, and uninstall Python packages
Home-page: https://github.com/pypa/setuptools
Author: Python Packaging Authority
Author-email: distutils-sig@python.org
License:
Location: /usr/lib/python3.8/site-packages
Requires:
Required-by: jupyter_packaging
kloczek commented 1 year ago

Please as well read again error message which is pointing directly on using deprecated build procedure.

kloczek commented 1 year ago

And do you have installed that bowler?

echarles commented 1 year ago

I have not installed bower.

pip show setuptools
Name: setuptools
Version: 67.7.2
Summary: Easily download, build, install, upgrade, and uninstall Python packages
Home-page: https://github.com/pypa/setuptools
Author: Python Packaging Authority
Author-email: distutils-sig@python.org
License: 
...
kloczek commented 1 year ago

OK .. so which one version of the python you are using?

echarles commented 1 year ago

3.11

echarles commented 1 year ago

pip 23.1.1

RRosio commented 1 year ago
npm unavailable
    Failed to run bower: [Errno 2] No such file or directory: 'bower'

This is particularly interesting, I am thinking that since bower is a JS devDependency, maybe it is not being installed because npm is not available. Is Node installed?

**Edit Was just able to replicate this same failure when attempting to install with pip install --use-pep517 -e . in an environment without Node.js installed

Partial Error Log
Running setup.py develop for nbclassic
    error: subprocess-exited-with-error

    × python setup.py develop did not run successfully.
    │ exit code: 1
    ╰─> [36 lines of output]
        running develop
        /private/var/folders/gb/jxvl5f7j7q55tsclds78r_1h0000gp/T/pip-build-env-pllhdq9l/overlay/lib/python3.11/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
        !!

                ********************************************************************************
                Please avoid running ``setup.py`` and ``easy_install``.
                Instead, use pypa/build, pypa/installer, pypa/build or
                other standards-based tools.

                See https://github.com/pypa/setuptools/issues/917 for details.
                ********************************************************************************

        !!
          easy_install.initialize_options(self)
        /private/var/folders/gb/jxvl5f7j7q55tsclds78r_1h0000gp/T/pip-build-env-pllhdq9l/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
        !!

                ********************************************************************************
                Please avoid running ``setup.py`` directly.
                Instead, use pypa/build, pypa/installer, pypa/build or
                other standards-based tools.

                See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
                ********************************************************************************

        !!
          self.initialize_options()
        running jsversion
        running js
        running jsdeps
        npm unavailable
        > bower install --allow-root --config.interactive=false
        Failed to run bower: [Errno 2] No such file or directory: 'bower'
        You can install js dependencies with `npm install`
        rebuilding js and css failed. The following required files are missing: ['nbclassic/static/components']
        error: [Errno 2] No such file or directory: 'bower'
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.

kloczek commented 1 year ago

Q: Does bower install --allow-root --config.interactive=false it mean that this command needs to be executed from root or it needs root privs? 🤔

kloczek commented 1 year ago

Censored .. just found that I had no installed nodejs and nmp 😞

Closing.

Only one more off topif thing. As I'm interested only roff output (aka man page) do you know is it possible to have some simpified documentation rendering procedure to produce only such text based document? 🤔

kloczek commented 1 year ago

Nevertheless .. error message was a bit misleading and/or not pointing directly on missing npm 😋