[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: guix import error + New: setting up a jupyterlab environment
From: |
Zelphir Kaltstahl |
Subject: |
Re: guix import error + New: setting up a jupyterlab environment |
Date: |
Mon, 19 Oct 2020 20:19:05 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
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
- 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 <=
- 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/21
- 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