Faiss: No module named '_swigfaiss' for conda install

Created on 8 Jun 2018  ·  26Comments  ·  Source: facebookresearch/faiss

Summary

Platform

OS: macOS 10.13.4

Faiss version:

Faiss compilation options:

Running on :

  • [ ] CPU

Reproduction instructions

I installed with

conda install faiss-cpu -c pytorch

and got No module named '_swigfaiss' error. I went into faiss directory and tried to import again, but got the same error message. It is mentioned in the trouble shooting that this error is caused by faiss not being compiled. Since I use conda install, I suppose it is not the case?

bug install

Most helpful comment

For those who are working with pip and not conda, if you have installed it with,

pip install faiss

uninstall it. And then install faiss with,

pip install faiss-cpu --no-cache

This worked for me 👍

All 26 comments

This seems to be related to (the lack of) libomp. I'll investigate further.

@ailzhang Which compiler are you using to build the faiss conda package? I'm guessing some flavor of llvm since it's dynamically linked against libomp.

Edit: It seems to be some Homebrew llvm.

@hsiaoma As a workaround for now for using the conda package on OSX, you'll need to $ brew install libomp.

Ref: #433

@beauby This indeed solves my problem, thanks a lot! You can close the issue if you think it is appropriate or leave it until the conda install issue is solved.

Hi @beauby macOS package was built on my old laptop which is already returned. I'm not sure which compiler I used to compile it exactly.
I vaguely remember have to install some llvm packages to compile but can't remember the detail. If libomp is unnecessary, I will remove it from next release.
Let me know! :)

hi @beauby i got hindered by the same issue mentioned by hsiaoma and the Ref: #433
even after brew install libomp.
my machine is MacOS sys and I was trying to install the latest version of faiss via conda install faiss-cpu -c pytorch
can you give me some advices to fix it ?

Hi @beauby I am getting the same issue mentioned by @hsiaoma
My machine is ubuntu sys and I installed only cpu version with conda by conda install faiss-cpu -c pytorch

Any help would be highly appreciated.

@ailzhang, any comment?

Hi @mdman92 Could you try 'from swigfaiss_gpu import *' in $YOUR_CONDA_HOME/lib/pythonx.x/site-packages/faiss? Also could you post conda list result here?

@ailzhang I followed your instruction but the issue still happen,
since I only install the cpu version, the exception showed ModuleNotFoundError: No module named 'swigfaiss_cpu'

while I change dir into the
CONDA_HOME/lib/pythonx.x/site-packages/faiss
and try to

import faiss

exception showed:
`
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
import faiss
Traceback (most recent call last):
File "/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/__init__.py", line 21, in
from .swigfaiss_gpu import *
ModuleNotFoundError: No module named 'faiss.swigfaiss_gpu'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/swigfaiss.py", line 14, in swig_import_helper
return importlib.import_module(mname)
File "/Users/hujiaxin/anaconda3/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 658, in _load_unlocked
File "", line 571, in module_from_spec
File "", line 922, in create_module
File "", line 219, in _call_with_frames_removed
ImportError: dlopen(/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/_swigfaiss.so, 2): Library not loaded: /usr/local/opt/llvm/lib/libomp.dylib
Referenced from: /Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/_swigfaiss.so
Reason: image not found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "", line 1, in
File "/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/__init__.py", line 28, in
from .swigfaiss import *
File "/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/swigfaiss.py", line 17, in
_swigfaiss = swig_import_helper()
File "/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/swigfaiss.py", line 16, in swig_import_helper
return importlib.import_module('_swigfaiss')
File "/Users/hujiaxin/anaconda3/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: dlopen(/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/_swigfaiss.so, 2): Library not loaded: /usr/local/opt/llvm/lib/libomp.dylib
Referenced from: /Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/_swigfaiss.so
Reason: image not found
`

conda list show below:

packages in environment at /Users/hujiaxin/anaconda3: # _ipyw_jlab_nb_ext_conf 0.1.0 py36h2fc01ae_0 absl-py 0.2.2 <pip> alabaster 0.7.10 py36h174008c_0 anaconda 5.1.0 py36_2 anaconda-client 1.6.9 py36_0 anaconda-navigator 1.7.0 py36_0 anaconda-project 0.8.2 py36h9ee5d53_0 appnope 0.1.0 py36hf537a9a_0 appscript 1.0.1 py36h9e71e49_1 asn1crypto 0.24.0 py36_0 astor 0.6.2 <pip> astroid 1.6.1 py36_0 astropy 2.0.3 py36h1de35cc_0 attrs 17.4.0 py36_0 babel 2.5.3 py36_0 backports 1.0 py36ha3c1827_1 backports.shutil_get_terminal_size 1.0.0 py36hd7a2ee4_2 baidu-aip 2.2.3.0 <pip> beautifulsoup4 4.6.0 py36h72d3c9f_1 bitarray 0.8.1 py36h1de35cc_1 bkcharts 0.2 py36h073222e_0 blaze 0.11.3 py36h02e7a37_0 bleach 2.1.2 py36_0 bleach 1.5.0 <pip> bokeh 0.12.13 py36h2f9c1c0_0 boto 2.48.0 py36hdbc59ac_1 boto3 1.6.17 <pip> botocore 1.9.17 <pip> bottleneck 1.2.1 py36hbd380ad_0 brewer2mpl 1.4.1 <pip> bz2file 0.98 <pip> bzip2 1.0.6 hd86a083_4 ca-certificates 2017.08.26 ha1e5d58_0 caffe2 0.8.dev py36hbf6519f_0 caffe2 cairo 1.14.12 hab642c4_0 certifi 2018.4.16 <pip> certifi 2018.1.18 py36_0 cffi 1.11.4 py36h342bebf_0 chardet 3.0.4 py36h96c241c_1 click 6.7 py36hec950be_0 cloudpickle 0.5.2 py36_1 clyent 1.2.2 py36hae3ad88_0 colorama 0.3.9 py36hd29a30c_0 conda 4.3.30 py36h173c244_0 http://mirrors.ustc.edu.cn/anaconda/pkgs/free conda-build 3.4.1 py36_0 conda-env 2.6.0 0 http://mirrors.ustc.edu.cn/anaconda/pkgs/free conda-verify 2.0.0 py36he837df3_0 contextlib2 0.5.5 py36hd66e5e7_0 coverage 4.5.1 <pip> cryptography 2.1.4 py36h842514c_0 curl 7.58.0 ha441bb4_0 cycler 0.10.0 py36hfc81398_0 cython 0.27.3 py36h6ecb376_0 cytoolz 0.9.0 py36h1de35cc_0 dask 0.16.1 py36_0 dask-core 0.16.1 py36_0 datashape 0.5.4 py36hfb22df8_0 dbus 1.12.2 h5243cc1_1 decorator 4.2.1 py36_0 distributed 1.20.2 py36_0 docutils 0.14 py36hbfde631_0 entrypoints 0.2.3 py36hd81d71f_2 et_xmlfile 1.0.1 py36h1315bdc_0 expat 2.2.5 hb8e80ba_0 faiss-cpu 1.2.1 py36_cuda0.0_1 pytorch Faker 0.8.15 <pip> fastcache 1.0.2 py36h1de35cc_2 ffmpeg 3.4 h766ddd1_0 filelock 2.0.13 py36hf9de95b_0 flask 0.12.2 py36h5658096_0 flask-cors 3.0.3 py36h7387b97_0 fontconfig 2.12.6 h9850fc5_0 freetype 2.8 h12048fb_1 future 0.16.0 py36_1 http://mirrors.ustc.edu.cn/anaconda/pkgs/free gast 0.2.0 <pip> gensim 3.4.0 <pip> get_terminal_size 1.0.0 h7520d66_0 gettext 0.19.8.1 h15daf44_3 gevent 1.2.2 py36ha70b9d6_0 gflags 2.2.1 h0a44026_0 ggplot 0.11.5 <pip> glib 2.53.6 h33f6a65_2 glob2 0.6 py36h94c9186_0 glog 0.3.5 0 http://mirrors.ustc.edu.cn/anaconda/pkgs/free gluonnlp 0.2.0.post0 <pip> gmp 6.1.2 hb37e062_1 gmpy2 2.0.8 py36hf9c35bd_2 graphite2 1.3.10 h337f25e_1 graphviz 0.8.3 <pip> greenlet 0.4.12 py36hf09ba7b_0 grpcio 1.12.1 <pip> h5py 2.7.1 py36h39cdac5_0 harfbuzz 1.7.6 h08e020e_0 hdf5 1.10.1 ha036c08_1 heapdict 1.0.0 py36_2 html5lib 1.0.1 py36h2f9c1c0_0 html5lib 0.9999999 <pip> hypothesis 3.53.0 <pip> icu 58.2 h4b95b61_1 idna 2.6 py36h8628d0a_1 imageio 2.2.0 py36h5e01289_0 imagesize 0.7.1 py36h3495948_0 intel-openmp 2018.0.0 h8158457_8 ipykernel 4.8.0 py36_0 ipython 6.2.1 py36h3dda519_1 ipython_genutils 0.2.0 py36h241746c_0 ipywidgets 7.1.1 py36_0 isort 4.2.15 py36hceb2a01_0 itsdangerous 0.24 py36h49fbb8d_1 jasper 1.900.1 h1f36771_4 jbig 2.1 h4d881f8_0 jdcal 1.3 py36h1986823_0 jedi 0.11.1 py36_0 jieba 0.39 <pip> jinja2 2.10 py36hd36f9c5_0 jmespath 0.9.3 <pip> jpeg 9b he5867d9_2 jsonschema 2.6.0 py36hb385e00_0 jupyter 1.0.0 py36_4 jupyter_client 5.2.2 py36_0 jupyter_console 5.2.0 py36hccf5b1c_1 jupyter_core 4.4.0 py36h79cf704_0 jupyterlab 0.31.5 py36_0 jupyterlab_launcher 0.10.2 py36_0 Keras 2.2.0 <pip> Keras-Applications 1.0.2 <pip> Keras-Preprocessing 1.0.1 <pip> Lasagne 0.1 <pip> lazy-object-proxy 1.3.1 py36h2fbbe47_0 leveldb 1.20 0 http://mirrors.ustc.edu.cn/anaconda/pkgs/free libcurl 7.58.0 hf30b1f0_0 libcxx 4.0.1 h579ed51_0 libcxxabi 4.0.1 hebd6815_0 libedit 3.1 hb4e282d_0 libffi 3.2.1 h475c297_4 libgfortran 3.0.1 h93005f0_2 libiconv 1.15 hdd342a3_7 libopus 1.2.1 h169cedb_0 libpng 1.6.34 he12f830_0 libprotobuf 3.4.1 h326466f_0 libsodium 1.0.15 hd9e47c5_0 libssh2 1.8.0 h322a93b_4 libtiff 4.0.9 h0dac147_0 libvpx 1.6.1 h057a404_0 libxml2 2.9.7 hab757c2_0 libxslt 1.1.32 hb819dd2_0 llvmlite 0.21.0 py36hff739e7_0 lmdb 0.9.21 0 http://mirrors.ustc.edu.cn/anaconda/pkgs/free locket 0.2.0 py36hca03003_1 lxml 4.1.1 py36hef8c89e_1 lzo 2.10 h362108e_2 Markdown 2.6.11 <pip> markupsafe 1.0 py36h3a1e703_1 matplotlib 2.1.2 py36h6d6146d_0 mccabe 0.6.1 py36hdaeb55d_0 mistune 0.8.3 py36_0 mkl 2018.0.1 hfbd8650_4 mkl-include 2018.0.2 1 mkl-service 1.1.2 py36h7ea6df4_4 mpc 1.0.3 h7a72875_5 mpfr 3.1.5 h711e7fd_2 mpmath 1.0.0 py36hf1b8295_2 msgpack-python 0.5.1 py36h04f5b5a_0 multipledispatch 0.4.9 py36hc5f92b5_0 mxnet 1.2.0b20180510 <pip> navigator-updater 0.1.0 py36h7aee5fb_0 nbconvert 5.3.1 py36h810822e_0 nbformat 4.4.0 py36h827af21_0 ncurses 6.0 hd04f020_2 networkx 2.1 py36_0 nltk 3.2.5 py36h1190bce_0 nose 1.3.7 py36h73fae2b_2 notebook 5.4.0 py36_0 numba 0.36.2 np114py36hc2f221f_0 numexpr 2.6.4 py36habcfcfe_0 numpy 1.14.4 <pip> numpy 1.14.0 py36h8a80b8c_1 numpydoc 0.7.0 py36he54d08e_0 odo 0.5.1 py36hc1af34a_0 olefile 0.45.1 py36_0 opencv 3.3.1 py36h60a5f38_1 openpyxl 2.4.10 py36_0 openssl 1.0.2n hdbc3d79_0 packaging 16.8 py36he5e8135_0 pandas 0.22.0 py36h0a44026_0 pandoc 1.19.2.1 ha5e8f32_1 pandocfilters 1.4.2 py36h3b0b094_1 parso 0.1.1 py36hc90e01c_0 partd 0.3.8 py36hf5c4cb8_0 path.py 10.5 py36h7bcb313_0 pathlib2 2.3.0 py36h877a6d8_0 patsy 0.5.0 py36_0 pcre 8.41 hfb6ab37_1 pep8 1.7.1 py36_0 pexpect 4.3.1 py36_0 pickleshare 0.7.4 py36hf512f8e_0 pillow 5.0.0 py36hfcce615_0 pip 9.0.1 py36h1555ced_4 pip 9.0.3 <pip> pixman 0.34.0 0 http://mirrors.ustc.edu.cn/anaconda/pkgs/free pkginfo 1.4.1 py36h25bf955_0 pluggy 0.6.0 py36hb1d0581_0 ply 3.10 py36h10e714e_0 prompt_toolkit 1.0.15 py36haeda067_0 protobuf 3.4.1 py36h314970b_0 protobuf 3.5.2.post1 <pip> psutil 5.4.3 py36h1de35cc_0 ptyprocess 0.5.2 py36he6521c3_0 py 1.5.2 py36ha69170d_0 pycodestyle 2.3.1 py36h83e8646_0 pycosat 0.6.3 py36hee92d8f_0 pycparser 2.18 py36h724b2fc_1 pycrypto 2.6.1 py36h1de35cc_7 pycurl 7.43.0.1 py36hdbc3d79_0 pydot 1.2.4 <pip> pyflakes 1.6.0 py36hea45e83_0 pygments 2.2.0 py36h240cd3f_0 pylint 1.8.2 py36_0 pyodbc 4.0.22 py36h0a44026_0 pyopenssl 17.5.0 py36h51e4350_0 pyparsing 2.2.0 py36hb281f35_0 pyqt 5.6.0 py36he5c6137_6 pyrouge 0.1.3 <pip> pysocks 1.6.7 py36hfa33cec_1 pytables 3.4.2 py36hfbd7ab0_2 pytest 3.3.2 py36_0 python 3.6.4 hc167b69_1 python-dateutil 2.6.1 py36h86d2abb_1 python-nvd3 0.15.0 <pip> python-slugify 1.2.5 <pip> python.app 2 py36h54569d5_7 pytorch 0.3.1 py36_cuda0.0_cudnn0.0_2 pytorch pytz 2017.3 py36hf0bf824_0 pywavelets 0.5.2 py36h2710a04_0 pyyaml 3.12 py36h2ba1e63_1 pyzmq 16.0.3 py36he48b5ad_0 qt 5.6.2 h9975529_14 qtawesome 0.4.4 py36h468c6fb_0 qtconsole 4.3.1 py36hd96c0ff_0 qtpy 1.3.1 py36h16bb863_0 readline 7.0 hc1231fa_4 requests 2.18.4 py36h4516966_1 rope 0.10.7 py36h68959ac_0 ruamel_yaml 0.15.35 py36h1de35cc_1 s3transfer 0.1.13 <pip> scikit-image 0.13.1 py36h1de35cc_1 scikit-learn 0.19.1 py36hffbff8c_0 scipy 1.0.0 py36h1de22e9_0 seaborn 0.8.1 py36h595ecd9_0 send2trash 1.4.2 py36_0 setuptools 39.2.0 <pip> setuptools 38.4.0 py36_0 simplegeneric 0.8.1 py36_2 singledispatch 3.4.0.3 py36hf20db9d_0 sip 4.18.1 py36h2824476_2 six 1.11.0 py36h0e22d5e_1 smart-open 1.5.7 <pip> snappy 1.1.6 0 http://mirrors.ustc.edu.cn/anaconda/pkgs/free snowballstemmer 1.2.1 py36h6c7b616_0 sortedcollections 0.5.3 py36he9c3ed6_0 sortedcontainers 1.5.9 py36_0 sphinx 1.6.6 py36_0 sphinxcontrib 1.0 py36h9364dc8_1 sphinxcontrib-websupport 1.0.1 py36h92f4a7a_1 spyder 3.2.6 py36_0 sqlalchemy 1.2.1 py36h1de35cc_0 sqlite 3.22.0 h3efe00b_0 statsmodels 0.8.0 py36h9c68fc9_0 sympy 1.1.1 py36h7f3cf04_0 tblib 1.3.2 py36hda67792_0 tensorboard 1.8.0 <pip> tensorflow 1.8.0 <pip> tensorflow-hub 0.1.0 <pip> termcolor 1.1.0 <pip> terminado 0.8.1 py36_1 testpath 0.3.1 py36h625a49b_0 text-unidecode 1.2 <pip> textmining 1.0 <pip> tk 8.6.7 h35a86e2_3 toolz 0.9.0 py36_0 torchvision 0.2.0 py36hf5eb7ec_1 pytorch tornado 4.5.3 py36_0 traitlets 4.3.2 py36h65bd3ce_0 typing 3.6.2 py36haa2d9ef_0 unicodecsv 0.14.1 py36he531d66_0 Unidecode 1.0.22 <pip> unixodbc 2.3.4 h4cb4dde_1 urllib3 1.22 py36h68b9469_0 virtualenv 15.2.0 <pip> wcwidth 0.1.7 py36h8c6ec74_0 webencodings 0.5.1 py36h3b9701d_1 werkzeug 0.14.1 py36_0 wheel 0.30.0 py36h5eb2c71_1 wheel 0.31.1 <pip> widgetsnbextension 3.1.0 py36_0 wrapt 1.10.11 py36hc29e774_0 wxPython 4.0.1 <pip> xlrd 1.1.0 py36h336f4a2_1 xlsxwriter 1.0.2 py36h3736301_0 xlwings 0.11.5 py36_0 xlwt 1.2.0 py36h5ad1178_0 xz 5.2.3 h0278029_2 yaml 0.1.7 hc338f04_2 yapf 0.21.0 <pip> zeromq 4.2.2 ha360ad0_2 zict 0.1.3 py36h71da714_0 zlib 1.2.11 hf3cbc9b_2

@fooSynaptic Try brew install llvm and see if it fixes the issue? It's complaining about missing libomp

@ailzhang okey, the same exception still occurred. and I can make sure both the llvm and libomp install ed successfully.

see below:

==> Summary
🍺 /usr/local/homebrew/Cellar/llvm/6.0.1: 2,613 files, 1.3GB
hujiaxindeMacBook-Air:~ hujiaxin$ python
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 12:04:33)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

import faiss
Traceback (most recent call last):
File "/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/__init__.py", line 21, in
from .swigfaiss_gpu import *
ModuleNotFoundError: No module named 'faiss.swigfaiss_gpu'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/swigfaiss.py", line 14, in swig_import_helper
return importlib.import_module(mname)
File "/Users/hujiaxin/anaconda3/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 658, in _load_unlocked
File "", line 571, in module_from_spec
File "", line 922, in create_module
File "", line 219, in _call_with_frames_removed
ImportError: dlopen(/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/_swigfaiss.so, 2): Library not loaded: /usr/local/opt/llvm/lib/libomp.dylib
Referenced from: /Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/_swigfaiss.so
Reason: image not found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "", line 1, in
File "/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/__init__.py", line 28, in
from .swigfaiss import *
File "/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/swigfaiss.py", line 17, in
_swigfaiss = swig_import_helper()
File "/Users/hujiaxin/anaconda3/lib/python3.6/site-packages/faiss/swigfaiss.py", line 16, in swig_import_helper
return importlib.import_module('_swigfaiss')
File "/Users/hujiaxin/anaconda3/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_swigfaiss'

@fooSynaptic Could you try installing the new version and let me know if this issue still happens?

I install faiss use "conda install" on a linux machine, I got the same error "ImportError: No module named _swigfaiss" when I import the faiss. How can I solve this issue???

I find that the error "ImportError: No module named _swigfaiss" will be disappeared where I use the anaconda3(python3) instead of anaconda2 install faisss. Does the lastest code only support anacoda3 to install???

Conda env shouldn't depend on anaconda versions. It's possible that you create a python2 environment in anconda3 solves the issue as well.

no activity, closing.

I encountered the same problem. My anaconda version is Anaconda 4.2.0, system is Cents os 7.
After conda install mkl, I solved this problem. However, I do not know why.....

the same problem on linux:
OS:
CentOS Linux release 7.4.1708 (Core)
Linux version 3.10.0-693.11.6.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) )

Conda:
conda 4.6.8
python 3.6.7

Install:
conda install -c pytorch faiss-cpu

Import Error:
Traceback (most recent call last):
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/__init__.py", line 21, in
from .swigfaiss_gpu import *
ModuleNotFoundError: No module named 'faiss.swigfaiss_gpu'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/swigfaiss.py", line 14, in swig_import_helper
return importlib.import_module(mname)
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 658, in _load_unlocked
File "", line 571, in module_from_spec
File "", line 922, in create_module
File "", line 219, in _call_with_frames_removed
ImportError: libmkl_gnu_thread.so: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/__init__.py", line 28, in
from .swigfaiss import *
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/swigfaiss.py", line 17, in
_swigfaiss = swig_import_helper()
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/swigfaiss.py", line 16, in swig_import_helper
return importlib.import_module('_swigfaiss')
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_swigfaiss'

I tried conda install mkl as @xmpy, not working for me.

the same problem on linux:
OS:
CentOS Linux release 7.4.1708 (Core)
Linux version 3.10.0-693.11.6.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) )

Conda:
conda 4.6.8
python 3.6.7

Install:
conda install -c pytorch faiss-cpu

Import Error:
Traceback (most recent call last):
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/init.py", line 21, in
from .swigfaiss_gpu import *
ModuleNotFoundError: No module named 'faiss.swigfaiss_gpu'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/swigfaiss.py", line 14, in swig_import_helper
return importlib.import_module(mname)
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 658, in _load_unlocked
File "", line 571, in module_from_spec
File "", line 922, in create_module
File "", line 219, in _call_with_frames_removed
ImportError: libmkl_gnu_thread.so: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/init.py", line 28, in
from .swigfaiss import *
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/swigfaiss.py", line 17, in
_swigfaiss = swig_import_helper()
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/swigfaiss.py", line 16, in swig_import_helper
return importlib.import_module('_swigfaiss')
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_swigfaiss'

I tried conda install mkl as @xmpy, not working for me.

newer mkl version is required.
I've tried installing mkl 2017.0.3-0, not working.
Later I tried installing mkl 2019.3-199, everything's good.

the same problem on linux:
OS:
CentOS Linux release 7.4.1708 (Core)
Linux version 3.10.0-693.11.6.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) )
Conda:
conda 4.6.8
python 3.6.7
Install:
conda install -c pytorch faiss-cpu
Import Error:
Traceback (most recent call last):
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/init.py", line 21, in
from .swigfaiss_gpu import *
ModuleNotFoundError: No module named 'faiss.swigfaiss_gpu'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/swigfaiss.py", line 14, in swig_import_helper
return importlib.import_module(mname)
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 658, in _load_unlocked
File "", line 571, in module_from_spec
File "", line 922, in create_module
File "", line 219, in _call_with_frames_removed
ImportError: libmkl_gnu_thread.so: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/init.py", line 28, in
from .swigfaiss import *
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/swigfaiss.py", line 17, in
_swigfaiss = swig_import_helper()
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/site-packages/faiss/swigfaiss.py", line 16, in swig_import_helper
return importlib.import_module('_swigfaiss')
File "/home/liangtf/miniconda3/envs/faiss/lib/python3.6/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_swigfaiss'
I tried conda install mkl as @xmpy, not working for me.

newer mkl version is required.
I've tried installing mkl 2017.0.3-0, not working.
Later I tried installing mkl 2019.3-199, everything's good.

no use

It should not be so:

pip install faiss

should do:

CPU version only

conda install faiss-cpu -c pytorch

GPU version

conda install faiss-gpu cudatoolkit=8.0 -c pytorch # For CUDA8
conda install faiss-gpu cudatoolkit=9.0 -c pytorch # For CUDA9
conda install faiss-gpu cudatoolkit=10.0 -c pytorch # For CUDA10

link: https://github.com/facebookresearch/faiss/blob/master/INSTALL.md

conda install mkl=2019.3=199
work for me

For those who are working with pip and not conda, if you have installed it with,

pip install faiss

uninstall it. And then install faiss with,

pip install faiss-cpu --no-cache

This worked for me 👍

It should not be so:

pip install faiss

should do:

CPU version only

conda install faiss-cpu -c pytorch

GPU version

conda install faiss-gpu cudatoolkit=8.0 -c pytorch # For CUDA8
conda install faiss-gpu cudatoolkit=9.0 -c pytorch # For CUDA9
conda install faiss-gpu cudatoolkit=10.0 -c pytorch # For CUDA10

link: https://github.com/facebookresearch/faiss/blob/master/INSTALL.md

This worked for me.Thank you

For those who are working with pip and not conda, if you have installed it with,

pip install faiss

uninstall it. And then install faiss with,

pip install faiss-cpu --no-cache

This worked for me 👍

Thanks a lot 👍

Was this page helpful?
0 / 5 - 0 ratings

Related issues

zoe-cheung picture zoe-cheung  ·  3Comments

ilyakhov picture ilyakhov  ·  3Comments

lukedeo picture lukedeo  ·  3Comments

maozezhong picture maozezhong  ·  3Comments

brunodoamaral picture brunodoamaral  ·  3Comments