diff --git a/python/finufft/finufft/_finufft.py b/python/finufft/finufft/_finufft.py index 96308db11..5bd5adb8e 100644 --- a/python/finufft/finufft/_finufft.py +++ b/python/finufft/finufft/_finufft.py @@ -7,13 +7,11 @@ """ import ctypes +import ctypes.util import os -import warnings import platform import importlib.util -import numpy as np - from ctypes import c_double from ctypes import c_int from ctypes import c_float @@ -26,13 +24,14 @@ c_double_p = ctypes.POINTER(c_double) c_longlong_p = ctypes.POINTER(c_longlong) -# TODO: See if there is a way to improve this so it is less hacky. lib = None # Try to load a local library directly. try: lib = ctypes.cdll.LoadLibrary('libfinufft.so') except OSError: - pass + libname = ctypes.util.find_library('finufft') + if libname is not None: + lib = ctypes.cdll.LoadLibrary(libname) # Should that not work, try to find the full path of a packaged lib. # The packaged lib should have a py/platform decorated name,