[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: guix import error + New: setting up a jupyterlab environment
From: |
Efraim Flashner |
Subject: |
Re: guix import error + New: setting up a jupyterlab environment |
Date: |
Wed, 21 Oct 2020 10:18:21 +0300 |
On Mon, Oct 19, 2020 at 11:12:35PM +0200, Zelphir Kaltstahl wrote:
> Meanwhile I have managed to run the jupyterlab-server tests, as
> described in more details here:
> https://github.com/jupyterlab/jupyterlab_server/issues/128
>
> Indeed, in version 1.2.0 the tests fail the same way they fail when I
> try to create my environment. This means the next thing to fix would
> probably be to use another version of jupyterlab-server. 1.2.0 is a tag
> in the jupyterlab-server repository, which _seems_ to be the latest
> "stable" version, before a lot of alpha, beta, and release-candidate
> versions follow.
>
> I guess I could switch the commit in my `jupyterlab.scm` file to point
> to a different one?
>
> I can change the version to `2.0.0rc1`, but I do not know how the
> checksum is calculated. The checksum is shorter than what I see on
> simply PyPI:
>
> https://files.pythonhosted.org/packages/79/43/5249be5ee741a93f3fa60823caf9a276cadc3103dae16d6e36cc534fefd8/jupyterlab_server-2.0.0rc1.tar.gz#sha256=733b149c5ab8e50ea5f2897c323047257060e7bf2dc0fa88663181427bec605d
>
> and base32 should only make it longer, not shorter.
>
> Can you explain how to switch a version manually and calculate the
> checksum to match another version?
For a tarball like the one at pythonhosted you'd download the file and
then run 'guix hash the-file'. If you're using a source code repository
then from the top level of the repo you'd run 'guix hash --exclude-vcs
--recursive .', or 'guix hash -rx .' for short. The hash layout that
Guix uses is the sha256 of the tarball base32 encoded, but with a change
in the letters used.
For python packages you can specify a version number, so in this case
it'd be 'guix import pypi jupyterlab_server/2.0.0rc1'. Some other
importers us the '@' symbol to specify version number and I think some
don't support using other versions at all.
I don't know how compatible different major versions of
jupyterlab-server are with each other, so I'd stick with 1.2.0 for now.
> Regards,
> Zelphir
>
> On 10/19/20 8:19 PM, Zelphir Kaltstahl wrote:
> >
> > Hello Efraim,
> >
> > Thanks for your patience! It seems with that I am getting quite far
> > (at least it feels like making progress, or even being close to have a
> > working environment), up to the "check phase". There some tests
> > failing in the "check phase". Here is what I am getting now,
> > regardless of whether I stick ("python-ipykernel" ,python-ipykernel)
> > in the native inputs or propagated inputs:
> >
> > ~~~~START~~~~
> > running install_egg_info
> > Copying jupyterlab_server.egg-info to
> > /gnu/store/2h44ldpcqqd0q7hqpbcqdavcnbjsibfb-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server-1.2.0-py3.8.egg-info
> > running install_scripts
> > phase `install' succeeded after 0.3 seconds
> > starting phase `wrap'
> > find-files:
> > /gnu/store/2h44ldpcqqd0q7hqpbcqdavcnbjsibfb-python-jupyterlab-server-1.2.0/bin:
> > No such file or directory
> > find-files:
> > /gnu/store/2h44ldpcqqd0q7hqpbcqdavcnbjsibfb-python-jupyterlab-server-1.2.0/sbin:
> > No such file or directory
> > phase `wrap' succeeded after 0.0 seconds
> > starting phase `check'
> > running "python setup.py" with command "test" and parameters ()
> > running test
> > running egg_info
> > writing jupyterlab_server.egg-info/PKG-INFO
> > writing dependency_links to jupyterlab_server.egg-info/dependency_links.txt
> > writing requirements to jupyterlab_server.egg-info/requires.txt
> > writing top-level names to jupyterlab_server.egg-info/top_level.txt
> > reading manifest file 'jupyterlab_server.egg-info/SOURCES.txt'
> > reading manifest template 'MANIFEST.in'
> > 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
> > writing manifest file 'jupyterlab_server.egg-info/SOURCES.txt'
> > running build_ext
> > test_get (jupyterlab_server.tests.test_settings_api.SettingsAPITest) ...
> > ERROR
> > test_get_bad (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
> > ... ERROR
> > test_listing (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
> > ... ERROR
> > test_patch (jupyterlab_server.tests.test_settings_api.SettingsAPITest) ...
> > ERROR
> > test_patch_bad_data
> > (jupyterlab_server.tests.test_settings_api.SettingsAPITest) ... ERROR
> > test_patch_wrong_id
> > (jupyterlab_server.tests.test_settings_api.SettingsAPITest) ... ERROR
> > test_bad_put
> > (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest) ... ERROR
> > test_blank_put
> > (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest) ... ERROR
> > test_delete (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
> > ... ERROR
> > test_get (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
> > ... ERROR
> > test_listing
> > (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest) ... ERROR
> > test_put (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
> > ... ERROR
> >
> > ======================================================================
> > ERROR: test_get (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> > "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py",
> > line 31, in setUp
> > dst = os.path.join(self.lab_config.schemas_dir, '@jupyterlab')
> > AttributeError: 'SettingsAPITest' object has no attribute 'lab_config'
> >
> > ======================================================================
> > ERROR: test_get_bad
> > (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> > "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py",
> > line 31, in setUp
> > dst = os.path.join(self.lab_config.schemas_dir, '@jupyterlab')
> > AttributeError: 'SettingsAPITest' object has no attribute 'lab_config'
> >
> > ======================================================================
> > ERROR: test_listing
> > (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> > "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py",
> > line 31, in setUp
> > dst = os.path.join(self.lab_config.schemas_dir, '@jupyterlab')
> > AttributeError: 'SettingsAPITest' object has no attribute 'lab_config'
> >
> > ======================================================================
> > ERROR: test_patch
> > (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> > "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py",
> > line 31, in setUp
> > dst = os.path.join(self.lab_config.schemas_dir, '@jupyterlab')
> > AttributeError: 'SettingsAPITest' object has no attribute 'lab_config'
> >
> > ======================================================================
> > ERROR: test_patch_bad_data
> > (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> > "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py",
> > line 31, in setUp
> > dst = os.path.join(self.lab_config.schemas_dir, '@jupyterlab')
> > AttributeError: 'SettingsAPITest' object has no attribute 'lab_config'
> >
> > ======================================================================
> > ERROR: test_patch_wrong_id
> > (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> > "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py",
> > line 31, in setUp
> > dst = os.path.join(self.lab_config.schemas_dir, '@jupyterlab')
> > AttributeError: 'SettingsAPITest' object has no attribute 'lab_config'
> >
> > ======================================================================
> > ERROR: test_bad_put
> > (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> > "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py",
> > line 34, in setUp
> > dst = os.path.join(self.lab_config.workspaces_dir, item)
> > AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_config'
> >
> > ======================================================================
> > ERROR: test_blank_put
> > (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> > "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py",
> > line 34, in setUp
> > dst = os.path.join(self.lab_config.workspaces_dir, item)
> > AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_config'
> >
> > ======================================================================
> > ERROR: test_delete
> > (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> > "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py",
> > line 34, in setUp
> > dst = os.path.join(self.lab_config.workspaces_dir, item)
> > AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_config'
> >
> > ======================================================================
> > ERROR: test_get
> > (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> > "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py",
> > line 34, in setUp
> > dst = os.path.join(self.lab_config.workspaces_dir, item)
> > AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_config'
> >
> > ======================================================================
> > ERROR: test_listing
> > (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> > "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py",
> > line 34, in setUp
> > dst = os.path.join(self.lab_config.workspaces_dir, item)
> > AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_config'
> >
> > ======================================================================
> > ERROR: test_put
> > (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> > File
> > "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py",
> > line 34, in setUp
> > dst = os.path.join(self.lab_config.workspaces_dir, item)
> > AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_config'
> >
> > ----------------------------------------------------------------------
> > Ran 12 tests in 0.001s
> >
> > FAILED (errors=12)
> > Test failed: <unittest.runner.TextTestResult run=12 errors=12 failures=0>
> > error: Test failed: <unittest.runner.TextTestResult run=12 errors=12
> > failures=0>
> > command "python" "-c" "import setuptools,
> > tokenize;__file__='setup.py';f=getattr(tokenize, 'open',
> > open)(__file__);code=f.read().replace('\\r\\n',
> > '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with
> > status 1
> > ~~~~~END~~~~~
> >
> > I have some thoughts about this:
> >
> > The Python error does not really tell me what is wrong. I don't know
> > why the `WorkspacesAPITest` does not have an attribute named `lab_config`.
> >
> > One can see, that those are all API tests. Since there were problems
> > in the previous step with network, perhaps it is a network thing here
> > as well? (Is network, even if localhost for testing, available in the
> > "check phase"?)
> >
> > It could also simply be, that some PyPI package has failing tests. I
> > don't know how one could then skip such tests.
> >
> > I guess I will summarize everything in the end and put it in a
> > repository as a kind of "guide", so that others can use it or learn
> > from the process.
> >
> > Regards,
> > Zelphir
> >
> > On 10/19/20 6:54 PM, Efraim Flashner wrote:
> >> It looks like you need to add python-ipykernel to native-inputs.
> >> Unless it's needed to run the program and not just for the test
> >> suite, in which case it should go in propagated-inputs. There's no
> >> network available in the build environment so it can't retrieve
> >> ipykernel while building.
> >>
> >>
> >> On October 19, 2020 2:31:53 PM UTC, Zelphir Kaltstahl
> >> <zelphirkaltstahl@posteo.de> wrote:
> >>
> >> Hello Efraim!
> >>
> >> Thank you! Your idea of replacing "-" with "_" seems to partially
> >> help:
> >>
> >> The package is downloaded and byte compiled. However, afterwards
> >> there is a problem, when it tries to copy the byte-compiled files
> >> in the "wrap phase" (comments inserted in some places):
> >>
> >> ~~~~START~~~~
> >> ### ... a lot of output before this ...
> >>
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/__init__.py
> >> to __init__.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/_version.py
> >> to _version.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/app.py
> >> to app.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/handlers.py
> >> to handlers.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/listings_handler.py
> >> to listings_handler.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/process.py
> >> to process.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/process_app.py
> >> to process_app.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/server.py
> >> to server.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/servertest.py
> >> to servertest.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/settings_handler.py
> >> to settings_handler.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/themes_handler.py
> >> to themes_handler.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/workspaces_handler.py
> >> to workspaces_handler.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/tests/__init__.py
> >> to __init__.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/tests/test_settings_api.py
> >> to test_settings_api.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/tests/test_workspaces_api.py
> >> to test_workspaces_api.cpython-38.pyc
> >> byte-compiling
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/tests/utils.py
> >> to utils.cpython-38.pyc
> >>
> >> ### ... seems byte-compiling went without problems, but not comes the
> >> problem ...
> >>
> >> running install_egg_info
> >> Copying jupyterlab_server.egg-info to
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server-1.2.0-py3.8.egg-info
> >> running install_scripts
> >> phase `install' succeeded after 0.3 seconds
> >> starting phase `wrap'
> >> find-files:
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/bin:
> >> No such file or directory
> >> find-files:
> >> /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/sbin:
> >> No such file or directory
> >> phase `wrap' succeeded after 0.0 seconds
> >> starting phase `check'
> >> running "python setup.py" with command "test" and parameters ()
> >> running test
> >> Searching for ipykernel
> >> Reading https://pypi.org/simple/ipykernel/
> >> Download error on https://pypi.org/simple/ipykernel/: [Errno -2] Name
> >> or service not known -- Some packages may not be found!
> >> Couldn't find index page for 'ipykernel' (maybe misspelled?)
> >> Scanning index of all packages (this may take a while)
> >> Reading https://pypi.org/simple/
> >> Download error on https://pypi.org/simple/: [Errno -2] Name or service
> >> not known -- Some packages may not be found!
> >> No local packages or working download links found for ipykernel
> >> error: Could not find suitable distribution for
> >> Requirement.parse('ipykernel')
> >> command "python" "-c" "import setuptools,
> >> tokenize;__file__='setup.py';f=getattr(tokenize, 'open',
> >> open)(__file__);code=f.read().replace('\\r\\n',
> >> '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with
> >> status 1
> >> ~~~~~END~~~~~
> >>
> >> So it seems, that while the download URL is corrected, there is
> >> another place, where Guix has an error now, resulting in a final
> >> error shown in command line:
> >>
> >> ~~~~START~~~~
> >> $ guix time-machine --channels=channels.scm -- environment
> >> --manifest=manifest.scm --load=jupyterlab.scm
> >> Updating channel 'guix' from Git repository at
> >> 'https://git.savannah.gnu.org/git/guix.git'...
> >> substitute: updating substitutes from 'https://ci.guix.gnu.org'...
> >> 100.0%
> >> The following derivations will be built:
> >>
> >> /gnu/store/wzmfn9m45bmsbrx094rv3lf3w0rpmw49-python-pytest-check-links-0.3.0.drv
> >>
> >> /gnu/store/96xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupyterlab-server-1.2.0.drv
> >>
> >> /gnu/store/32a28hd7aainwn0hfsnf3blh8prmfz61-jupyterlab_server-1.2.0.tar.gz.drv
> >>
> >> 3,9 MB will be downloaded
> >> downloading from
> >> https://ci.guix.gnu.org/nar/lzip/54kpl9psx16jwic4gpnjwh44kim04wlk-python-notebook-5.7.4
> >> ...
> >> python-notebook-5.7.4 3.7MiB
> >>
> >>
> >> 5.1MiB/s 00:01 [##################] 100.0%
> >>
> >> building
> >> /gnu/store/32a28hd7aainwn0hfsnf3blh8prmfz61-jupyterlab_server-1.2.0.tar.gz.drv...
> >> downloading from
> >> https://files.pythonhosted.org/packages/source/j/jupyterlab_server/jupyterlab_server-1.2.0.tar.gz
> >> ...
> >> building
> >> /gnu/store/wzmfn9m45bmsbrx094rv3lf3w0rpmw49-python-pytest-check-links-0.3.0.drv...
> >> building
> >> /gnu/store/96xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupyterlab-server-1.2.0.drv...
> >> \ 'check' phasebuilder for
> >> `/gnu/store/96xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupyterlab-server-1.2.0.drv'
> >> failed with exit code 1
> >> build of
> >> /gnu/store/96xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupyterlab-server-1.2.0.drv
> >> failed
> >> View build log at
> >> '/var/log/guix/drvs/96/xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupyterlab-server-1.2.0.drv.bz2'.
> >> guix environment: error: build of
> >> `/gnu/store/96xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupyterlab-server-1.2.0.drv'
> >> failed
> >> ~~~~~END~~~~~
> >>
> >> Apparently ipykernel is not found, but when I visit
> >> https://pypi.org/simple/ipykernel/, I see packages there.
> >>
> >> From the logs:
> >>
> >> ~~~~START~~~~
> >> Download error on https://pypi.org/simple/ipykernel/: [Errno -2] Name
> >> or service not known -- Some packages may not be found!
> >> Couldn't find index page for 'ipykernel' (maybe misspelled?)
> >> ~~~~~END~~~~~
> >>
> >> Do I need to add another input in my `jupyterlab.scm`? (How?) Or
> >> perhaps I need to create a separate `ipykernel.scm` which
> >> contains the output of `guix import pypi --recursive ipykernel`?
> >>
> >> However, it somehow seems to fail for PyPI simple in general
> >> (from the logs again):
> >>
> >> ~~~~START~~~~
> >> Reading https://pypi.org/simple/
> >> Download error on https://pypi.org/simple/: [Errno -2] Name or service
> >> not known -- Some packages may not be found!
> >> No local packages or working download links found for ipykernel
> >> error: Could not find suitable distribution for
> >> Requirement.parse('ipykernel')
> >> command "python" "-c" "import setuptools,
> >> tokenize;__file__='setup.py';f=getattr(tokenize, 'open',
> >> open)(__file__);code=f.read().replace('\\r\\n',
> >> '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with
> >> status 1
> >> ~~~~~END~~~~~
> >>
> >> Thanks,
> >> Zelphir
> >>
> >>
> >> On 10/18/20 6:35 PM, Efraim Flashner wrote:
> >>> On Sun, Oct 18, 2020 at 01:55:49PM +0200, Zelphir Kaltstahl wrote:
> >>>> Hello Guix Users, hello Zimoun and Tobias!
> >>>>
> >>>> Thanks for your information regarding the importer syntax thing.
> >>>>
> >>>> I continued trying to get a jupyterlab environment today.
> >>>>
> >>>> Here is what I did so far:
> >>>>
> >>>> (1) Create my manifest file:
> >>>>
> >>>> ~~~~START~~~~
> >>>> (specifications->manifest
> >>>> '("python"))
> >>>> ~~~~~END~~~~~
> >>>>
> >>>> (2) Create my channels file:
> >>>>
> >>>> ~~~~START~~~~
> >>>> $ guix describe --format=channels > channels.scm
> >>>> $ cat channels.scm
> >>>> (list (channel
> >>>> (name 'guix)
> >>>> (url "https://git.savannah.gnu.org/git/guix.git")
> >>>> (commit
> >>>> "6ca673b30dac281ba27a8dac242c0ac83e5e354b")
> >>>> (introduction
> >>>> (make-channel-introduction
> >>>> "9edb3f66fd807b096b48283debdcddccfea34bad"
> >>>> (openpgp-fingerprint
> >>>> "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A
> >>>> 54FA")))))
> >>>> ~~~~~END~~~~~
> >>>>
> >>>> (3) Create my jupyterlab PyPI import file, this time around using the
> >>>> "/" instead of "@" for specifying the version:
> >>>>
> >>>> ~~~~START~~~~
> >>>> $ guix import pypi --recursive jupyterlab/2.1.5 > jupyterlab.scm
> >>>> ~~~~~END~~~~~
> >>>>
> >>>> (4) Add missing import expressions and add output expression at the
> >>>> end:
> >>>>
> >>>> ~~~~START~~~~
> >>>> ;; add module imports
> >>>> (use-modules
> >>>> (guix packages)
> >>>> (guix download)
> >>>> (guix build-system python)
> >>>> ((guix licenses) #:prefix license:)
> >>>> ;; use `guix environment --ad-hoc python-jinja2 -- guix package -A
> >>>> python-jinja2` to find the location of python-jinja2, which is
> >>>> gnu/packages/python-xyz.scm
> >>> This can be just 'guix package -A python-jinja2', no need for the
> >>> environment.
> >>>
> >>>> (gnu packages python-xyz)
> >>>> ;; for python-tornado
> >>>> (gnu packages python-web)
> >>>> ;; for python-pytest
> >>>> (gnu packages check))
> >>>>
> >>>> ;; QUESTION: Why are those required packages not imported by guix
> >>>> automatically?
> >>>> ;; QUESTION: Why are the manually imported packages not actually in
> >>>> files with their own name, but instead jinja2 -> python-xyz, tornado ->
> >>>> python-web, and pytest -> check?
> >>>> ;; QUESTION: Is my process of finding the files in which the
> >>>> packages are correct or just working by chance?
> >>>>
> >>>> (define-public python-jupyterlab-server
> >>>> (package
> >>>> (name "python-jupyterlab-server")
> >>>> (version "1.2.0")
> >>>> (source
> >>>> (origin
> >>>> (method url-fetch)
> >>>> (uri (pypi-uri "jupyterlab-server" version))
> >>>> (sha256
> >>>> (base32
> >>>>
> >>>> "132xby7531rbrjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxjcal"))))
> >>>> (build-system python-build-system)
> >>>> (propagated-inputs
> >>>> `(("python-jinja2" ,python-jinja2)
> >>>> ("python-json5" ,python-json5)
> >>>> ("python-jsonschema" ,python-jsonschema)
> >>>> ("python-notebook" ,python-notebook)
> >>>> ("python-requests" ,python-requests)))
> >>>> (native-inputs
> >>>> `(("python-pytest" ,python-pytest)
> >>>> ("python-requests" ,python-requests)))
> >>>> (home-page "https://jupyter.org")
> >>>> (synopsis "JupyterLab Server")
> >>>> (description "JupyterLab Server")
> >>>> (license license:bsd-3)))
> >>>>
> >>>> (define-public python-jupyterlab
> >>>> (package
> >>>> (name "python-jupyterlab")
> >>>> (version "2.1.5")
> >>>> (source
> >>>> (origin
> >>>> (method url-fetch)
> >>>> (uri (pypi-uri "jupyterlab" version))
> >>>> (sha256
> >>>> (base32
> >>>>
> >>>> "162jn51cg36fsn4l2zhnb5n4nbkhm9wlv974ggcnmdij3i4r4yya"))))
> >>>> (build-system python-build-system)
> >>>> (propagated-inputs
> >>>> `(("python-jinja2" ,python-jinja2)
> >>>> ("python-jupyterlab-server"
> >>>> ,python-jupyterlab-server)
> >>>> ("python-notebook" ,python-notebook)
> >>>> ("python-tornado" ,python-tornado)))
> >>>> (native-inputs
> >>>> `(("python-pytest" ,python-pytest)
> >>>> ("python-pytest-check-links"
> >>>> ,python-pytest-check-links)
> >>>> ("python-requests" ,python-requests)
> >>>> ("python-virtualenv" ,python-virtualenv)
> >>>> ("python-wheel" ,python-wheel)))
> >>>> (home-page "http://jupyter.org")
> >>>> (synopsis
> >>>> "The JupyterLab notebook server extension.")
> >>>> (description
> >>>> "The JupyterLab notebook server extension.")
> >>>> (license license:bsd-3)))
> >>>>
> >>>> python-jupyterlab
> >>>> ~~~~~END~~~~~
> >>>>
> >>>> And as noted in the comments, I have 3 questions at this point:
> >>>>
> >>>> (Q1) Why are those required packages not imported by guix
> >>>> automatically?
> >>>> (My guess: This functionality simply has not yet been implemented.)
> >>>>
> >>>> (Q2) Why are the manually imported packages not actually in files
> >>>> with
> >>>> their own name, but instead jinja2 -> python-xyt, tornado ->
> >>>> python-web,
> >>>> and pytest -> check? Why not (gnu packages python pytest) for
> >>>> example?
> >>>>
> >>>> (Q3) Is my process of finding the files in which the packages are
> >>>> correct or just working by chance? Basically I am creating temporary
> >>>> environments, in which I then lookup "where would the package be
> >>>> installed" and then exit the temporary environment to use that
> >>>> information in my imported package file's import expressions /
> >>>> use-modules expression. This seems to be a bit of a convoluted
> >>>> process,
> >>>> though worth it, if it always works in the end.
> >>>>
> >>>> (4) Now I run my time-machine command:
> >>>>
> >>>> ~~~~START~~~~
> >>>> $ guix time-machine --channels=channels.scm -- environment
> >>>> --manifest=manifest.scm --load=jupyterlab.scm
> >>>> ~~~~~END~~~~~
> >>>>
> >>>> This take a moment and then I get an error (the full output is
> >>>> longer,
> >>>> but when running it multiple times, already successful steps are not
> >>>> all
> >>>> done repeatedly, so the output is then reduced to what fails):
> >>>>
> >>>> ~~~~START~~~~
> >>>> $ guix time-machine --channels=channels.scm -- environment
> >>>> --manifest=manifest.scm --load=jupyterlab.scm
> >>>> Updating channel 'guix' from Git repository at
> >>>> 'https://git.savannah.gnu.org/git/guix.git'...
> >>>> The following derivations will be built:
> >>>>
> >>>> /gnu/store/wzmfn9m45bmsbrx094rv3lf3w0rpmw49-python-pytest-check-links-0.3.0.drv
> >>>>
> >>>> /gnu/store/n9i421lrbwrr8d0947w5vma7rhy3iyba-python-jupyterlab-server-1.2.0.drv
> >>>>
> >>>> /gnu/store/s7jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv
> >>>>
> >>>> 4,2 MB will be downloaded
> >>>> downloading from
> >>>> https://ci.guix.gnu.org/nar/lzip/2nahbs5v8q073gjmy224gk0h5lsh1kkw-python-nbconvert-5.0.0b1
> >>>> ...
> >>>> python-nbconvert-5.0.0b1 301KiB
> >>>>
> >>>>
> >>>> 2.0MiB/s 00:00 [##################] 100.0%
> >>>>
> >>>> building
> >>>> /gnu/store/s7jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv...
> >>>> |builder for
> >>>> `/gnu/store/s7jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv'
> >>>> failed to produce output path
> >>>> `/gnu/store/92md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz'
> >>>> build of
> >>>> /gnu/store/s7jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv
> >>>> failed
> >>>> View build log at
> >>>> '/var/log/guix/drvs/s7/jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv.bz2'.
> >>>> cannot build derivation
> >>>> `/gnu/store/n9i421lrbwrr8d0947w5vma7rhy3iyba-python-jupyterlab-server-1.2.0.drv':
> >>>> 1 dependencies couldn't be built
> >>>> killing process 7384
> >>>> guix environment: error: build of
> >>>> `/gnu/store/n9i421lrbwrr8d0947w5vma7rhy3iyba-python-jupyterlab-server-1.2.0.drv'
> >>>> failed
> >>>> ~~~~~END~~~~~
> >>>>
> >>>> OK, an error, perhaps I can understand it. Lets look at that log
> >>>> file:
> >>>>
> >>>> ~~~~START~~~~
> >>>> $ cp
> >>>> /var/log/guix/drvs/s7/jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv.bz2
> >>>> .
> >>>> $ bzip2 --decompress
> >>>> jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv.bz2
> >>>> $ cat
> >>>> jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv
> >>>>
> >>>> Starting download of
> >>>> /gnu/store/92md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz
> >>>> From
> >>>> https://files.pythonhosted.org/packages/source/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz...
> >>>> download failed
> >>>> "https://files.pythonhosted.org/packages/source/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz"
> >>>> 404 "Not Found"
> >>>>
> >>>> Starting download of
> >>>> /gnu/store/92md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz
> >>>> From
> >>>> https://ci.guix.gnu.org/file/jupyterlab-server-1.2.0.tar.gz/sha256/132xby7531rbrjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxjcal...
> >>>> download failed
> >>>> "https://ci.guix.gnu.org/file/jupyterlab-server-1.2.0.tar.gz/sha256/132xby7531rbrjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxjcal"
> >>>> 404 "Not Found"
> >>>>
> >>>> Starting download of
> >>>> /gnu/store/92md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz
> >>>> From
> >>>> https://tarballs.nixos.org/sha256/132xby7531rbrjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxjcal...
> >>>> download failed
> >>>> "https://tarballs.nixos.org/sha256/132xby7531rbrjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxjcal"
> >>>> 404 "Not Found"
> >>>>
> >>>> Starting download of
> >>>> /gnu/store/92md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz
> >>>> From
> >>>> https://archive.softwareheritage.org/api/1/content/sha256:5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d8c/raw/...
> >>>> download failed
> >>>> "https://archive.softwareheritage.org/api/1/content/sha256:5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d8c/raw/"
> >>>> 404 "Not Found"
> >>>> failed to download
> >>>> "/gnu/store/92md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz"
> >>>> from
> >>>> "https://files.pythonhosted.org/packages/source/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz"
> >>>> ~~~~~END~~~~~
> >>>>
> >>>> So it seems, that the jupyterlab-server file is simply not
> >>>> downloadable
> >>>> any longer!
> >>>>
> >>>> Trying using wget:
> >>>>
> >>>> ~~~~START~~~~
> >>>> $ wget
> >>>> https://files.pythonhosted.org/packages/source/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz
> >>>> --2020-10-18 13:49:52--
> >>>> https://files.pythonhosted.org/packages/source/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz
> >>>> Resolving files.pythonhosted.org (files.pythonhosted.org)...
> >>>> 2a04:4e42:9::319, 151.101.37.63
> >>>> Connecting to files.pythonhosted.org
> >>>> (files.pythonhosted.org)|2a04:4e42:9::319|:443... failed: Connection
> >>>> refused.
> >>>> Connecting to files.pythonhosted.org
> >>>> (files.pythonhosted.org)|151.101.37.63|:443... connected.
> >>>> HTTP request sent, awaiting response... 404 Not Found
> >>>> 2020-10-18 13:49:53 ERROR 404: Not Found.
> >>>> ~~~~~END~~~~~
> >>>>
> >>>> So now I am out of ideas. It seems the file is not available any
> >>>> longer
> >>>> and the definition of jupyterlab needs to be updated somewhere, so
> >>>> that
> >>>> it does not try to download an old or non-existent version of
> >>>> jupyter-labserver. But how is this usually done? Can I specify it
> >>>> somewhere in one of the 3 files I have, or am I dependent on someone
> >>>> fixing the jupyterlab-server dependency / input for juypterlab?
> >>>>
> >>>> Thanks for your help so far! Tell me, if I need to provide any more
> >>>> information to solve the problem.
> >>> Try chaning the URL line to (uri (pypi-uri "jupyterlab_server"
> >>> version)),
> >>> with an underscore (_). I don't have any special suggestions for
> >>> knowing
> >>> that it should be an underscore instead of a dash. The best I have is
> >>> the output from 'guix import pypi jupyterlab-server:
> >>>
> >>> (ins)efraim@E5400 ~$ guix import pypi jupyterlab-server
> >>>
> >>> Starting download of /tmp/guix-file.ayJ41F
> >>> From
> >>> https://files.pythonhosted.org/packages/92/54/5f321ca4cebfb644ac59eb21601b46a2ff9831ffe1b4e5a588f2a7e98d48/jupyterlab_server-1.2.0.tar.gz...
> >>> …er-1.2.0.tar.gz 22KiB 57KiB/s 00:00
> >>> [##################] 100.0%
> >>>
> >>>
> >>>
> >>>> Best regards,
> >>>> Zelphir
> >>>>
> >>>>
> >>>> On 10/16/20 2:25 PM, Tobias Geerinckx-Rice wrote:
> >>>>> Zelphir,
> >>>>>
> >>>>> Zelphir Kaltstahl 写道:
> >>>>>> $ guix import pypi 'jupyterlab@2.1.5' --recursive
> >>>>> It will work if you substitute ‘/’ for ‘@’. Yes, this is a happy
> >>>>> accident specific to the PyPI importer, and I'm sure you can guess
> >>>>> why
> >>>>> it happens to work.
> >>>>>
> >>>>>>> guix import hackage mtl@2.1.3.1
> >>>>>> But that is in the "hackage" import section. Is the same not
> >>>>>> available
> >>>>>> for PyPI?
> >>>>> [...]
> >>>>>
> >>>>>> Do the various importers work differently?
> >>>>> Unfortunately so. It would be great(TM) if PACKAGE[@VERSION] were
> >>>>> standard. Each importer could handle it properly (e.g., by turning
> >>>>> it
> >>>>> into "/") or return a friendlier ‘the foo importer does not yet
> >>>>> support versions’ error.
> >>>>>
> >>>>> I don't have the time, but this sounds like a good
> >>>>> intermediate-level
> >>>>> hack for someone who does :-)
> >>>>>
> >>>>> Kind regards,
> >>>>>
> >>>>> T G-R
> >>>> --
> >>>> repositories: https://notabug.org/ZelphirKaltstahl
> >>>>
> >> --
> >> repositories: https://notabug.org/ZelphirKaltstahl
> >>
> >>
> >> --
> >> Sent from my Android device with K-9 Mail. Please excuse my brevity.
> > --
> > repositories: https://notabug.org/ZelphirKaltstahl
>
> --
> repositories: https://notabug.org/ZelphirKaltstahl
>
--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
signature.asc
Description: PGP signature
- guix import error, Zelphir Kaltstahl, 2020/10/16
- Re: guix import error, zimoun, 2020/10/16
- Re: guix import error, Tobias Geerinckx-Rice, 2020/10/16
- Re: guix import error, zimoun, 2020/10/16
- Re: guix import error + New: setting up a jupyterlab environment, Zelphir Kaltstahl, 2020/10/18
- Re: guix import error + New: setting up a jupyterlab environment, Efraim Flashner, 2020/10/18
- Re: guix import error + New: setting up a jupyterlab environment, Zelphir Kaltstahl, 2020/10/19
- Re: guix import error + New: setting up a jupyterlab environment, Efraim Flashner, 2020/10/19
- Re: guix import error + New: setting up a jupyterlab environment, Zelphir Kaltstahl, 2020/10/19
- Re: guix import error + New: setting up a jupyterlab environment, Zelphir Kaltstahl, 2020/10/19
- Re: guix import error + New: setting up a jupyterlab environment,
Efraim Flashner <=
- Re: guix import error + New: setting up a jupyterlab environment, Zelphir Kaltstahl, 2020/10/24
- Re: guix import error + New: setting up a jupyterlab environment, Efraim Flashner, 2020/10/25
- Re: guix import error + New: setting up a jupyterlab environment, Zelphir Kaltstahl, 2020/10/25
- Re: guix import error + New: setting up a jupyterlab environment, Efraim Flashner, 2020/10/21