Open GaetanLepage opened 1 month ago
acked, Nix is not the official supported way of installing faiss. If you need to be unblocked quickly, can you try installing faiss from conda-forge? I will check if https://anaconda.org/anaconda/py-cpuinfo can be used to replace the deprecated module
acked, Nix is not the official supported way of installing faiss. If you need to be unblocked quickly, can you try installing faiss from conda-forge? I will check if https://anaconda.org/anaconda/py-cpuinfo can be used to replace the deprecated module
I am not a faiss
user myself. I do maintenance on the python ecosystem within nixpkgs.
For now, we have patched it by inserting a return False
statement before the problematic import
statement.
There is no particular urgency don't worry.
I am also facing this exact same issue using Debian.
Specifically, installing faiss
in a Docker container based on python:3.12-slim-bookworm
.
@cachitas is this on x86 or aarch64?
aarch64
This doesn't appear to be aarch64 specific: based on the numpy documentation it applies to all numpy uses in Python 3.12 and newer.
i have this issue:
Traceback (most recent call last):
File "/home/vboxuser/projects/chatbot-ia/index.py", line 3, in <module>
app = create_app()
^^^^^^^^^^^^
File "/home/vboxuser/projects/chatbot-ia/src/__init__.py", line 9, in create_app
from .routes import rag,db
File "/home/vboxuser/projects/chatbot-ia/src/routes/db.py", line 3, in <module>
import faiss
File "/home/vboxuser/projects/chatbot-ia/env/lib/python3.12/site-packages/faiss/__init__.py", line 16, in <module>
from .loader import *
File "/home/vboxuser/projects/chatbot-ia/env/lib/python3.12/site-packages/faiss/loader.py", line 88, in <module>
instruction_sets = supported_instruction_sets()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vboxuser/projects/chatbot-ia/env/lib/python3.12/site-packages/faiss/loader.py", line 53, in supported_instruction_sets
if is_sve_supported():
^^^^^^^^^^^^^^^^^^
File "/home/vboxuser/projects/chatbot-ia/env/lib/python3.12/site-packages/faiss/loader.py", line 43, in is_sve_supported
import numpy.distutils.cpuinfo
ModuleNotFoundError: No module named 'numpy.distutils'
with arm64
Summary
To know whether the system supports SVE, faiss uses deprecated
numpy.distutils.cpuinfo
. This has been removed and crashes on Python 3.12 (onaarch64-linux
systems) with:Platform
OS: NixOS
Faiss version: 1.9.0
Installed from: Nix
Faiss compilation options:
Running on:
Interface:
Reproduction instructions
import faiss