Subject: guix pack error with python packages
From: Cayetano Santos <[email-masked]>
To: [email-masked]
Date: Sat, 04 Mar 2023 20:35:01 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello guix,

  I’m trying to deploy a test set of python packages to a remote server,
  using the following guix pack command (latest guix, as for now)

    guix pack -R --compression=xz --save-provenance \
    -S /.guix-profile/bin=bin -S /.guix-profile/share=share \
    -S /.guix-profile/etc=etc -S /.guix-profile/lib=lib \
    -S /.guix-profile/include=include

  The resulting file.tar.xz is sent to the server with

    scp file.tar.xz server:/dir1/dir2/.

  Then, when I

    ssh server
    cd /dir1/dir2

  I do a

    tar xf file.tar.xz

  At this point, a ’ls /dir1/dir2’ shows, as expected

    .guix-profile
    gnu
    file.tar.xz

  Now, when I just (PYTHONPATH is empty at this point)

    /dir1/dir2/.guix-profile/bin/python3 -c \
    "import sys; print(sys.path)"

  I get

    /dir1/dir2/hj...python...
    /dir1/dir2/hj...numpy...
    /dir1/dir2/hj...matplotlib...

  instead of

    /dir1/dir2/gnu/store/hj...python...
    /dir1/dir2/gnu/store/hj...numpy...
    /dir1/dir2/gnu/store/hj...matplotlib...

  so that when I

    /dir1/dir2/.guix-profile/bin/python3 -c "import numpyt"

  I get an error

    ModuleNotFoundError: No module named 'numpy'

  If, however, I

    export GUIX_PROFILE=/dir1/dir2/.guix-profile
    source $GUIX_PROFILE/etc/profile
    export PYTHONPATH=$GUIX_PYTHONPATH

  and then

    /dir1/dir2/.guix-profile/bin/python3

  I have

    Error processing line 1 of
    /dir1/dir2/.guix-profile/lib/python3.9/site-packages/matplotlib-3.5.2-py3.9-nspkg.pth:

  Trying to ’import numpy’ gives

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/dir1/dir2/.guix-profile/lib/python3.9/site-packages/numpy/__init__.py", line 110, in <module>
    import warnings
      ModuleNotFoundError: No module named 'warnings'

  Am I doing something wrong ? Is this a bug ?

Thanks,

Cayetano Santos