Skip to content

Commit dbc7033

Browse files
committed
Successfully locate MacPorts-installed OpenSlide
1 parent d2a23c8 commit dbc7033

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

openslide/lowlevel.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,17 @@
3838
if platform.system() == 'Windows':
3939
_lib = cdll.LoadLibrary('libopenslide-0.dll')
4040
elif platform.system() == 'Darwin':
41-
_lib = cdll.LoadLibrary('libopenslide.0.dylib')
41+
try:
42+
_lib = cdll.LoadLibrary('libopenslide.0.dylib')
43+
except OSError:
44+
# MacPorts doesn't add itself to the dyld search path, but
45+
# does add itself to the find_library() search path
46+
# (DEFAULT_LIBRARY_FALLBACK in ctypes.macholib.dyld).
47+
import ctypes.util
48+
_lib = ctypes.util.find_library('openslide')
49+
if _lib is None:
50+
raise ImportError("Couldn't locate OpenSlide library")
51+
_lib = cdll.LoadLibrary(_lib)
4252
else:
4353
_lib = cdll.LoadLibrary('libopenslide.so.0')
4454

0 commit comments

Comments
 (0)