Subject: guix package -i jupyter fails
From: Johannes Laute <[email-masked]>
To: [email-masked]
Date: Tue, 26 Dec 2017 20:44:18 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

"guix package -i jupyter" fails with the following error:

guix package: error: profile contains conflicting entries for
python-jupyter-console
package: error:   first entry: [email-masked]
/gnu/store/f0hzkjw58ys9qm2hf209vfdnbmm24zan-python-jupyter-console-5.0.0
guix package: error:    ... propagated from [email-masked]
guix package: error:   second entry: [email-masked]
/gnu/store/315alfzrhisyrkh6mhz4a1y8gj1ljxlr-python-jupyter-console-5.0.0
guix package: error:    ... propagated from [email-masked]
guix package: error:    ... propagated from [email-masked]
guix package: error:    ... propagated from [email-masked]
hint: You cannot have two different versions or variants of `jupyter' in
the same profile.

As I dont have two different versions of jupyter I think it is due to the
fact that two different "python-jupyter-console" packages exist in
/gnu/packages/python.scm.

In the source code it states, because of a cyclic dependencies
"python-jupyter-console" they strip it into a "minimal" version and use that
("python-jupyter-console"
  ;; The python-ipython and python-jupyter-console require each
  ;; other. To get the functionality in both packages working, strip
  ;; down the python-jupyter-console package when using it as an input
  ;; to python-ipython.
,python-jupyter-console-minimal)

in line 4409 of /gnu/packages/python.scm

So there indeed are two "python-jupyter-console" packages that collide.

If I run "guix environment --ad-hoc jupyter" the command succeeds, and
jupyter works.

On the IRC lfam said that this was because these collisions were explicitly
allowed in "guix environment"

Merry Christmas,
johannes