--- Begin Message ---
Subject: |
python-scikit-learn can't be imported "module compiled against API version 0x10 but this version of numpy is 0xf" |
Date: |
Mon, 05 Jun 2023 18:50:35 +0200 |
User-agent: |
mu4e 1.8.13; emacs 28.2 |
Dear Guix maintainers,
If I run:
guix shell python-scikit-learn
and in it, run:
python3 -c "from sklearn.feature_extraction.text import CountVectorizer"
I get:
RuntimeError: module compiled against API version 0x10 but this version of
numpy is 0xf . Check the section C-API incompatibility at the Troubleshooting
ImportError section at
https://numpy.org/devdocs/user/troubleshooting-importerror.html#c-api-incompatibility
for indications on how to solve this problem .
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3.10/site-packages/sklearn/__init__.py", line 82, in
<module>
from .base import clone
File "/usr/lib/python3.10/site-packages/sklearn/base.py", line 17, in <module>
from .utils import _IS_32BIT
File "/usr/lib/python3.10/site-packages/sklearn/utils/__init__.py", line 17,
in <module>
from scipy.sparse import issparse
File "/usr/lib/python3.10/site-packages/scipy/sparse/__init__.py", line 267,
in <module>
from ._csr import *
File "/usr/lib/python3.10/site-packages/scipy/sparse/_csr.py", line 10, in
<module>
from ._sparsetools import (csr_tocsc, csr_tobsr, csr_count_blocks,
ImportError: numpy.core.multiarray failed to import
I can't look into it right now, but I'm available to provide any
necessary information.
Cheers,
Edouard.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#63912: Acknowledgement (python-scikit-learn can't be imported "module compiled against API version 0x10 but this version of numpy is 0xf") |
Date: |
Wed, 14 Jun 2023 08:38:52 +0200 |
User-agent: |
mu4e 1.8.13; emacs 28.2 |
I found the cause:
.local/lib/python3.10/site-packages/ is part of the interpreter's load
path, and so an old version of numpy was imported in priority over
guix's.
I don't know if this is by design, but if so, it means that any
pip --user installed package will overshadow any guix install package,
even when giving --pure to guix shell. It may not be what we want.
What made me find this is that sklearn worked when in a container, but
not in a shell, that meant that something from the local system was
leaking into the shell.
help-debbugs@gnu.org (GNU bug Tracking System) writes:
> Thank you for filing a new bug report with debbugs.gnu.org.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> bug-guix@gnu.org
>
> If you wish to submit further information on this problem, please
> send it to 63912@debbugs.gnu.org.
>
> Please do not send mail to help-debbugs@gnu.org unless you wish
> to report a problem with the Bug-tracking system.
--- End Message ---