RuntimeError: Could not load any ArrayFire libraries.
BenBagherian opened this issue · comments
Error right after installation:
>>> import arrayfire
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files (x86)\Python36-32\lib\site-packages\arrayfire\__init__. py", line 56, in <module>
from .library import *
File "C:\Program Files (x86)\Python36-32\lib\site-packages\arrayfire\library.py", line 619, in <module>backend = _clibrary()
File "C:\Program Files (x86)\Python36-32\lib\site-packages\arrayfire\library.py", line 595, in __init__
raise RuntimeError("Could not load any ArrayFire libraries.\n" + more_info_str)
RuntimeError: Could not load any ArrayFire libraries.
Please look at https://github.com/arrayfire/arrayfire-python/wiki for more infor
mation.
And these are in the PATH:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\libnvvp;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin;C:\Program Files\ArrayFire\v3\lib;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\nvvm\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\nvvm\lib\x64
Also, Cuda works fine with exe benchmarks.
Any thought?
Can you make sure the sys.path
variable contains the path to the ArrayFire libs?
python -c "import sys; print('\n'.join(sys.path))"
no, it's not:
>python -c "import sys; print('\n'.join(sys.path))
C:\Program Files (x86)\Python36-32\python36.zip
C:\Program Files (x86)\Python36-32\DLLs
C:\Program Files (x86)\Python36-32\lib
C:\Program Files (x86)\Python36-32
C:\Users\h118341\AppData\Roaming\Python\Python36\site-packages
C:\Program Files (x86)\Python36-32\lib\site-packages
C:\Program Files (x86)\Python36-32\lib\site-packages\win32
C:\Program Files (x86)\Python36-32\lib\site-packages\win32\lib
C:\Program Files (x86)\Python36-32\lib\site-packages\Pythonwin
Then I tried to append it to the sys.path, didn't work:
>>> import sys
>>> sys.path
['', 'C:\\Program Files (x86)\\Python36-32\\python36.zip', 'C:\\Program Files (x86)\\Python36-32\\DLLs', 'C:\\Program Files (x86)\\Python36-32\\lib', 'C:\\Program Files (x86)\\Python36-32', 'C:\\Users\\h118341\\AppData\\Roaming\\Python\\Python36\\site-packages', 'C:\\Program Files (x86)\\Python36-32\\lib\\site-packages', 'C:\\Program Files (x86)\\Python36-32\\lib\\site-packages\\win32', 'C:\\Program Files (x86)\\Python36-32\\lib\\site-packages\\win32\\lib', 'C:\\Program Files (x86)\\Python36-32\\lib\\site-packages\\Pythonwin']
>>> sys.path.append('C:\\Program Files\\ArrayFire\\v3\\lib')
>>> sys.path
['', 'C:\\Program Files (x86)\\Python36-32\\python36.zip', 'C:\\Program Files (x86)\\Python36-32\\DLLs', 'C:\\Program Files (x86)\\Python36-32\\lib', 'C:\\Program Files (x86)\\Python36-32', 'C:\\Users\\h118341\\AppData\\Roaming\\Python\\Python36\\site-packages', 'C:\\Program Files (x86)\\Python36-32\\lib\\site-packages', 'C:\\Program Files (x86)\\Python36-32\\lib\\site-packages\\win32', 'C:\\Program Files (x86)\\Python36-32\\lib\\site-packages\\win32\\lib', 'C:\\Program Files (x86)\\Python36-32\\lib\\site-packages\\Pythonwin', 'C:\\Program Files\\ArrayFire\\v3\\lib']
>>> import arrayfire
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files (x86)\Python36-32\lib\site-packages\arrayfire\__init__.py", line 56, in <module>
from .library import *
File "C:\Program Files (x86)\Python36-32\lib\site-packages\arrayfire\library.py", line 619, in <module>
backend = _clibrary()
File "C:\Program Files (x86)\Python36-32\lib\site-packages\arrayfire\library.py", line 595, in __init__
raise RuntimeError("Could not load any ArrayFire libraries.\n" + more_info_str)
RuntimeError: Could not load any ArrayFire libraries.
Please look at https://github.com/arrayfire/arrayfire-python/wiki for more information.
>>>
@BenBagherian think you are using 32 bit python. ArrayFire only supports 64 bit.
@umar456 sys.path
refers to path of python modules. The right flag is os.environ['PATH']
. But sys.path
helpe debug the issue :)
Thank you both! Python-32bit was the issue!