From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id aP6RLws9lV/LUgAA0tVLHw (envelope-from ) for ; Sun, 25 Oct 2020 08:53:31 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id qHRdKws9lV8/QQAAB5/wlQ (envelope-from ) for ; Sun, 25 Oct 2020 08:53:31 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 8DB369403CC for ; Sun, 25 Oct 2020 08:53:30 +0000 (UTC) Received: from localhost ([::1]:40230 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kWbmL-00076d-Hu for larch@yhetil.org; Sun, 25 Oct 2020 04:53:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35384) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kWbm7-00074X-Ih for help-guix@gnu.org; Sun, 25 Oct 2020 04:53:15 -0400 Received: from flashner.co.il ([178.62.234.194]:56124) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kWbm2-00028I-OI for help-guix@gnu.org; Sun, 25 Oct 2020 04:53:15 -0400 Received: from localhost (unknown [141.226.13.8]) by flashner.co.il (Postfix) with ESMTPSA id 59858400AC; Sun, 25 Oct 2020 08:53:04 +0000 (UTC) Date: Sun, 25 Oct 2020 10:52:31 +0200 From: Efraim Flashner To: Zelphir Kaltstahl Subject: Re: guix import error + New: setting up a jupyterlab environment Message-ID: <20201025085231.GB984@E5400> References: <87d01ibbo3.fsf@nckx> <74577458-7e58-4647-fd3d-62047b6d484b@posteo.de> <20201018163550.GI974@E5400> <9e21d4d8-aca7-5742-3e2e-70334711321e@posteo.de> <184E2A08-C711-43B1-8CBF-3647FBB0EAE8@flashner.co.il> <20201021071821.GS9117@E5400> <98b5e8cc-6dd4-74f3-076a-934af5344c26@posteo.de> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="3lcZGd9BuhuYXNfi" Content-Disposition: inline In-Reply-To: <98b5e8cc-6dd4-74f3-076a-934af5344c26@posteo.de> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Received-SPF: pass client-ip=178.62.234.194; envelope-from=efraim@flashner.co.il; helo=flashner.co.il X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/25 04:53:05 X-ACL-Warn: Detected OS = ??? X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: help-guix@gnu.org Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Spam-Score: -2.61 X-TUID: UlVJ+IWoNYkG --3lcZGd9BuhuYXNfi Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Oct 24, 2020 at 09:42:13PM +0200, Zelphir Kaltstahl wrote: > Hello Efraim! >=20 > On 10/21/20 9:18 AM, Efraim Flashner wrote: > > 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/5249be5ee741a93f3fa60823= caf9a276cadc3103dae16d6e36cc534fefd8/jupyterlab_server-2.0.0rc1.tar.gz#sha2= 56=3D733b149c5ab8e50ea5f2897c323047257060e7bf2dc0fa88663181427bec605d > >> > >> 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. >=20 >=20 > This means however, that the check phase will fail, because of the > failing tests in the jupyterlab_server repository on version 1.2.0. >=20 > Unless there is a way to disable running those specific tests, I guess > this means, that only getting the tests to pass in the jupyterlab_server > repository will solve the problem? >=20 I'd suggest starting with my suggestion from the other email, to try using 'add-installed-pythonpath' to make sure the library is in the PYTHONPATH. Perhaps that will help the tests pass. > >> 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/2h44ldpcqqd0q7hqpbcq= davcnbjsibfb-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jup= yterlab_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-jupyte= rlab-server-1.2.0/bin: No such file or directory > >>> find-files: /gnu/store/2h44ldpcqqd0q7hqpbcqdavcnbjsibfb-python-jupyte= rlab-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_lin= ks.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' f= ound anywhere in distribution > >>> writing manifest file 'jupyterlab_server.egg-info/SOURCES.txt' > >>> running build_ext > >>> test_get (jupyterlab_server.tests.test_settings_api.SettingsAPITest) = =2E.. ERROR > >>> test_get_bad (jupyterlab_server.tests.test_settings_api.SettingsAPITe= st) ... ERROR > >>> test_listing (jupyterlab_server.tests.test_settings_api.SettingsAPITe= st) ... ERROR > >>> test_patch (jupyterlab_server.tests.test_settings_api.SettingsAPITest= ) ... ERROR > >>> test_patch_bad_data (jupyterlab_server.tests.test_settings_api.Settin= gsAPITest) ... ERROR > >>> test_patch_wrong_id (jupyterlab_server.tests.test_settings_api.Settin= gsAPITest) ... ERROR > >>> test_bad_put (jupyterlab_server.tests.test_workspaces_api.WorkspacesA= PITest) ... ERROR > >>> test_blank_put (jupyterlab_server.tests.test_workspaces_api.Workspace= sAPITest) ... ERROR > >>> test_delete (jupyterlab_server.tests.test_workspaces_api.WorkspacesAP= ITest) ... ERROR > >>> test_get (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITe= st) ... ERROR > >>> test_listing (jupyterlab_server.tests.test_workspaces_api.WorkspacesA= PITest) ... ERROR > >>> test_put (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITe= st) ... ERROR > >>> > >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>> ERROR: test_get (jupyterlab_server.tests.test_settings_api.SettingsAP= ITest) > >>> ---------------------------------------------------------------------- > >>> Traceback (most recent call last): > >>> File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterl= ab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py", line 31, in = setUp > >>> dst =3D os.path.join(self.lab_config.schemas_dir, '@jupyterlab') > >>> AttributeError: 'SettingsAPITest' object has no attribute 'lab_config' > >>> > >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>> ERROR: test_get_bad (jupyterlab_server.tests.test_settings_api.Settin= gsAPITest) > >>> ---------------------------------------------------------------------- > >>> Traceback (most recent call last): > >>> File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterl= ab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py", line 31, in = setUp > >>> dst =3D os.path.join(self.lab_config.schemas_dir, '@jupyterlab') > >>> AttributeError: 'SettingsAPITest' object has no attribute 'lab_config' > >>> > >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>> ERROR: test_listing (jupyterlab_server.tests.test_settings_api.Settin= gsAPITest) > >>> ---------------------------------------------------------------------- > >>> Traceback (most recent call last): > >>> File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterl= ab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py", line 31, in = setUp > >>> dst =3D os.path.join(self.lab_config.schemas_dir, '@jupyterlab') > >>> AttributeError: 'SettingsAPITest' object has no attribute 'lab_config' > >>> > >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>> ERROR: test_patch (jupyterlab_server.tests.test_settings_api.Settings= APITest) > >>> ---------------------------------------------------------------------- > >>> Traceback (most recent call last): > >>> File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterl= ab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py", line 31, in = setUp > >>> dst =3D os.path.join(self.lab_config.schemas_dir, '@jupyterlab') > >>> AttributeError: 'SettingsAPITest' object has no attribute 'lab_config' > >>> > >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>> ERROR: test_patch_bad_data (jupyterlab_server.tests.test_settings_api= =2ESettingsAPITest) > >>> ---------------------------------------------------------------------- > >>> Traceback (most recent call last): > >>> File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterl= ab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py", line 31, in = setUp > >>> dst =3D os.path.join(self.lab_config.schemas_dir, '@jupyterlab') > >>> AttributeError: 'SettingsAPITest' object has no attribute 'lab_config' > >>> > >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>> ERROR: test_patch_wrong_id (jupyterlab_server.tests.test_settings_api= =2ESettingsAPITest) > >>> ---------------------------------------------------------------------- > >>> Traceback (most recent call last): > >>> File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterl= ab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py", line 31, in = setUp > >>> dst =3D os.path.join(self.lab_config.schemas_dir, '@jupyterlab') > >>> AttributeError: 'SettingsAPITest' object has no attribute 'lab_config' > >>> > >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>> ERROR: test_bad_put (jupyterlab_server.tests.test_workspaces_api.Work= spacesAPITest) > >>> ---------------------------------------------------------------------- > >>> Traceback (most recent call last): > >>> File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterl= ab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py", line 34, i= n setUp > >>> dst =3D os.path.join(self.lab_config.workspaces_dir, item) > >>> AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_conf= ig' > >>> > >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>> ERROR: test_blank_put (jupyterlab_server.tests.test_workspaces_api.Wo= rkspacesAPITest) > >>> ---------------------------------------------------------------------- > >>> Traceback (most recent call last): > >>> File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterl= ab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py", line 34, i= n setUp > >>> dst =3D os.path.join(self.lab_config.workspaces_dir, item) > >>> AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_conf= ig' > >>> > >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>> ERROR: test_delete (jupyterlab_server.tests.test_workspaces_api.Works= pacesAPITest) > >>> ---------------------------------------------------------------------- > >>> Traceback (most recent call last): > >>> File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterl= ab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py", line 34, i= n setUp > >>> dst =3D os.path.join(self.lab_config.workspaces_dir, item) > >>> AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_conf= ig' > >>> > >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>> ERROR: test_get (jupyterlab_server.tests.test_workspaces_api.Workspac= esAPITest) > >>> ---------------------------------------------------------------------- > >>> Traceback (most recent call last): > >>> File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterl= ab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py", line 34, i= n setUp > >>> dst =3D os.path.join(self.lab_config.workspaces_dir, item) > >>> AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_conf= ig' > >>> > >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>> ERROR: test_listing (jupyterlab_server.tests.test_workspaces_api.Work= spacesAPITest) > >>> ---------------------------------------------------------------------- > >>> Traceback (most recent call last): > >>> File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterl= ab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py", line 34, i= n setUp > >>> dst =3D os.path.join(self.lab_config.workspaces_dir, item) > >>> AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_conf= ig' > >>> > >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>> ERROR: test_put (jupyterlab_server.tests.test_workspaces_api.Workspac= esAPITest) > >>> ---------------------------------------------------------------------- > >>> Traceback (most recent call last): > >>> File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterl= ab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py", line 34, i= n setUp > >>> dst =3D os.path.join(self.lab_config.workspaces_dir, item) > >>> AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_conf= ig' > >>> > >>> ---------------------------------------------------------------------- > >>> Ran 12 tests in 0.001s > >>> > >>> FAILED (errors=3D12) > >>> Test failed: > >>> error: Test failed: > >>> command "python" "-c" "import setuptools, tokenize;__file__=3D'setup.= py';f=3Dgetattr(tokenize, 'open', open)(__file__);code=3Df.read().replace('= \\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" fai= led 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_con= fig`. > >>> > >>> 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 > >>>> 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-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/__i= nit__.py to __init__.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/_ve= rsion.py to _version.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/app= =2Epy to app.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/han= dlers.py to handlers.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/lis= tings_handler.py to listings_handler.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/pro= cess.py to process.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/pro= cess_app.py to process_app.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/ser= ver.py to server.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/ser= vertest.py to servertest.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/set= tings_handler.py to settings_handler.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/the= mes_handler.py to themes_handler.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/wor= kspaces_handler.py to workspaces_handler.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/tes= ts/__init__.py to __init__.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/tes= ts/test_settings_api.py to test_settings_api.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/tes= ts/test_workspaces_api.py to test_workspaces_api.cpython-38.pyc > >>>> byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-pytho= n-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/tes= ts/utils.py to utils.cpython-38.pyc > >>>> > >>>> ### ... seems byte-compiling went without problems, but not come= s the problem ... > >>>> > >>>> running install_egg_info > >>>> Copying jupyterlab_server.egg-info to /gnu/store/yr7q21bws1xgx3p= 2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-package= s/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-j= upyterlab-server-1.2.0/bin: No such file or directory > >>>> find-files: /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-j= upyterlab-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 s= ervice 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.pars= e('ipykernel') > >>>> command "python" "-c" "import setuptools, tokenize;__file__=3D's= etup.py';f=3Dgetattr(tokenize, 'open', open)(__file__);code=3Df.read().repl= ace('\\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=3Dchannels.scm -- environment --m= anifest=3Dmanifest.scm --load=3Djupyterlab.scm > >>>> Updating channel 'guix' from Git repository at 'https://git.sava= nnah.gnu.org/git/guix.git'... > >>>> substitute: updating substitutes from 'https://ci.guix.gnu.org'.= =2E. 100.0% > >>>> The following derivations will be built: > >>>> /gnu/store/wzmfn9m45bmsbrx094rv3lf3w0rpmw49-python-pytest-che= ck-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/54kpl9psx16jwi= c4gpnjwh44kim04wlk-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-pyte= st-check-links-0.3.0.drv... > >>>> building /gnu/store/96xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupy= terlab-server-1.2.0.drv... > >>>> \ 'check' phasebuilder for `/gnu/store/96xf5mrg134mcsp01b0m1qs1l= xkb401a-python-jupyterlab-server-1.2.0.drv' failed with exit code 1 > >>>> build of /gnu/store/96xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupy= terlab-server-1.2.0.drv failed > >>>> View build log at '/var/log/guix/drvs/96/xf5mrg134mcsp01b0m1qs1l= xkb401a-python-jupyterlab-server-1.2.0.drv.bz2'. > >>>> guix environment: error: build of `/gnu/store/96xf5mrg134mcsp01b= 0m1qs1lxkb401a-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 s= ervice 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.pars= e('ipykernel') > >>>> command "python" "-c" "import setuptools, tokenize;__file__=3D's= etup.py';f=3Dgetattr(tokenize, 'open', open)(__file__);code=3Df.read().repl= ace('\\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 wro= te: > >>>>>> Hello Guix Users, hello Zimoun and Tobias! > >>>>>> > >>>>>> Thanks for your information regarding the importer syntax thin= g. > >>>>>> > >>>>>> 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=3Dchannels > 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 5= 4FA"))))) > >>>>>> ~~~~~END~~~~~ > >>>>>> > >>>>>> (3) Create my jupyterlab PyPI import file, this time around us= ing the > >>>>>> "/" instead of "@" for specifying the version: > >>>>>> > >>>>>> ~~~~START~~~~ > >>>>>> $ guix import pypi --recursive jupyterlab/2.1.5 > jupyterlab.s= cm > >>>>>> ~~~~~END~~~~~ > >>>>>> > >>>>>> (4) Add missing import expressions and add output expression a= t 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 packa= ge -A python-jinja2` to find the location of python-jinja2, which is gnu/pa= ckages/python-xyz.scm > >>>>> This can be just 'guix package -A python-jinja2', no need for t= he > >>>>> 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 g= uix automatically? > >>>>>> ;; QUESTION: Why are the manually imported packages not actual= ly 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 p= ackages 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 > >>>>>> "132xby7531rbrjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxj= cal")))) > >>>>>> (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 > >>>>>> "162jn51cg36fsn4l2zhnb5n4nbkhm9wlv974ggcnmdij3i4r4= yya")))) > >>>>>> (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 auto= matically? > >>>>>> (My guess: This functionality simply has not yet been implemen= ted.) > >>>>>> > >>>>>> (Q2) Why are the manually imported packages not actually in fi= les with > >>>>>> their own name, but instead jinja2 -> python-xyt, tornado -> p= ython-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 tem= porary > >>>>>> 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=3Dchannels.scm -- environment -= -manifest=3Dmanifest.scm --load=3Djupyterlab.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 a= re not all > >>>>>> done repeatedly, so the output is then reduced to what fails): > >>>>>> > >>>>>> ~~~~START~~~~ > >>>>>> $ guix time-machine --channels=3Dchannels.scm -- environment -= -manifest=3Dmanifest.scm --load=3Djupyterlab.scm > >>>>>> Updating channel 'guix' from Git repository at 'https://git.sa= vannah.gnu.org/git/guix.git'... > >>>>>> The following derivations will be built: > >>>>>> /gnu/store/wzmfn9m45bmsbrx094rv3lf3w0rpmw49-python-pytest-c= heck-links-0.3.0.drv > >>>>>> /gnu/store/n9i421lrbwrr8d0947w5vma7rhy3iyba-python-jupyterl= ab-server-1.2.0.drv > >>>>>> /gnu/store/s7jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-serv= er-1.2.0.tar.gz.drv > >>>>>> > >>>>>> 4,2 MB will be downloaded > >>>>>> downloading from https://ci.guix.gnu.org/nar/lzip/2nahbs5v8q07= 3gjmy224gk0h5lsh1kkw-python-nbconvert-5.0.0b1 ... > >>>>>> python-nbconvert-5.0.0b1 301KiB = = = 2.0MiB/s 00:00 [##################] 100.0% > >>>>>> > >>>>>> building /gnu/store/s7jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterla= b-server-1.2.0.tar.gz.drv... > >>>>>> |builder for `/gnu/store/s7jc2dbb0bnrahxklmszmpfv8klgw3sd-jupy= terlab-server-1.2.0.tar.gz.drv' failed to produce output path `/gnu/store/9= 2md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz' > >>>>>> build of /gnu/store/s7jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterla= b-server-1.2.0.tar.gz.drv failed > >>>>>> View build log at '/var/log/guix/drvs/s7/jc2dbb0bnrahxklmszmpf= v8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv.bz2'. > >>>>>> cannot build derivation `/gnu/store/n9i421lrbwrr8d0947w5vma7rh= y3iyba-python-jupyterlab-server-1.2.0.drv': 1 dependencies couldn't be built > >>>>>> killing process 7384 > >>>>>> guix environment: error: build of `/gnu/store/n9i421lrbwrr8d09= 47w5vma7rhy3iyba-python-jupyterlab-server-1.2.0.drv' failed > >>>>>> ~~~~~END~~~~~ > >>>>>> > >>>>>> OK, an error, perhaps I can understand it. Lets look at that l= og file: > >>>>>> > >>>>>> ~~~~START~~~~ > >>>>>> $ cp /var/log/guix/drvs/s7/jc2dbb0bnrahxklmszmpfv8klgw3sd-jupy= terlab-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.t= ar.gz.drv > >>>>>> > >>>>>> Starting download of /gnu/store/92md7gh966n4fzj6al267lqq4xjx0n= cf-jupyterlab-server-1.2.0.tar.gz > >>>>>> From https://files.pythonhosted.org/packages/source/j/jupyterl= ab-server/jupyterlab-server-1.2.0.tar.gz... > >>>>>> download failed "https://files.pythonhosted.org/packages/sourc= e/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz" 404 "Not Found" > >>>>>> > >>>>>> Starting download of /gnu/store/92md7gh966n4fzj6al267lqq4xjx0n= cf-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-serve= r-1.2.0.tar.gz/sha256/132xby7531rbrjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxjcal"= 404 "Not Found" > >>>>>> > >>>>>> Starting download of /gnu/store/92md7gh966n4fzj6al267lqq4xjx0n= cf-jupyterlab-server-1.2.0.tar.gz > >>>>>> From https://tarballs.nixos.org/sha256/132xby7531rbrjg9bqvsx86= birr1blynjxy8gi5kcnb6x7fxjcal... > >>>>>> download failed "https://tarballs.nixos.org/sha256/132xby7531r= brjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxjcal" 404 "Not Found" > >>>>>> > >>>>>> Starting download of /gnu/store/92md7gh966n4fzj6al267lqq4xjx0n= cf-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/co= ntent/sha256:5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d= 8c/raw/" 404 "Not Found" > >>>>>> failed to download "/gnu/store/92md7gh966n4fzj6al267lqq4xjx0nc= f-jupyterlab-server-1.2.0.tar.gz" from "https://files.pythonhosted.org/pack= ages/source/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz" > >>>>>> ~~~~~END~~~~~ > >>>>>> > >>>>>> So it seems, that the jupyterlab-server file is simply not dow= nloadable > >>>>>> any longer! > >>>>>> > >>>>>> Trying using wget: > >>>>>> > >>>>>> ~~~~START~~~~ > >>>>>> $ wget https://files.pythonhosted.org/packages/source/j/jupyte= rlab-server/jupyterlab-server-1.2.0.tar.gz > >>>>>> --2020-10-18 13:49:52-- https://files.pythonhosted.org/packag= es/source/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz > >>>>>> Resolving files.pythonhosted.org (files.pythonhosted.org)... 2= a04: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 a= ny 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 s= omeone > >>>>>> 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 fo= r knowing > >>>>> that it should be an underscore instead of a dash. The best I h= ave 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/5f321ca4cebf= b644ac59eb21601b46a2ff9831ffe1b4e5a588f2a7e98d48/jupyterlab_server-1.2.0.ta= r.gz... > >>>>> =E2=80=A6er-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 =E5=86=99=E9=81=93=EF=BC=9A > >>>>>>>> $ guix import pypi 'jupyterlab@2.1.5' --recursive > >>>>>>> It will work if you substitute =E2=80=98/=E2=80=99 for =E2=80= =98@=E2=80=99.=C2=A0 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.=C2=A0 It would be great(TM) if PACKAGE[@VER= SION] were > >>>>>>> standard.=C2=A0 Each importer could handle it properly (e.g.,= by turning it > >>>>>>> into "/") or return a friendlier =E2=80=98the foo importer do= es not yet > >>>>>>> support versions=E2=80=99 error. > >>>>>>> > >>>>>>> I don't have the time, but this sounds like a good intermedia= te-level > >>>>>>> hack for someone who does :-) > >>>>>>> > >>>>>>> Kind regards, > >>>>>>> > >>>>>>> T G-R > >>>>>> --=20 > >>>>>> repositories: https://notabug.org/ZelphirKaltstahl > >>>> --=20 > >>>> repositories: https://notabug.org/ZelphirKaltstahl > >>>> --=20 > >>>> Sent from my Android device with K-9 Mail. Please excuse my brevity.= =20 > >>> --=20 > >>> repositories: https://notabug.org/ZelphirKaltstahl > >> --=20 > >> repositories: https://notabug.org/ZelphirKaltstahl > Regards, > Zelphir >=20 > --=20 > repositories: https://notabug.org/ZelphirKaltstahl >=20 >=20 --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --3lcZGd9BuhuYXNfi Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl+VPMsACgkQQarn3Mo9 g1GImA/5Ab/IHi+KERddVueyGMsYC4/SUcK1+ZFNHV/e4/ri37J9v008vWsZYDtU 5eAkcCm6fH9i14LeWG+nAsnAO0+WR9N86z/8AyRBZ49d7hEFbYs8q5Z3KJQYlFBo 8uIBuTnsu5RWW6KwAZjqlMKznifVl/FqfVdYCXAktjfzUIKvp3ohskrxwHI2X2VG vwBwRRSohDKQHlzMc2fP55O4Q/RX1fMie3o/IopKqBjPF55zpIUpZQVJPdgdqei6 vJjjEzafC25z/Bmn5ieDJpNPYwOkm7HSdY0eyCA6S5ZVQ8oVAtYa0xDDr5j1gNT4 G1E4AoDF/xts4L36vd2FtZ7s/y64INjNe0lRx4tumXoiv8AUfu8vPYXZLfUbAmfh rnjf/xjtUPqjBxFVW43KiCSwHqcuRNc6EgD6ASoP/rpF4os2chfwUp2ngIv441Vg Dgvdb0ga79TrpfO1wZ0YCXZIJWrLjHqoI520sSkQdSSAavVbX+Jw3R/K5I09x4dC fkT4Q6zCf93lVr98sBx8Z2IsEjS4XVa2P/e6zxonUwc+Td0l76nAlEwg1VvyoqPe P8/JacQEj5kW+3Vf+fcmXSufMEoQfvxuALJR9C2/UglveyBsJYJWQb2tUY1QuAiI U9LhT3hgHubipFWGppDreEENqiXQatyuZvTKmTKPgeUXJwFS0jo= =66EB -----END PGP SIGNATURE----- --3lcZGd9BuhuYXNfi--