"Apple Python": OSError: dlopen(libps2000a.dylib, 6): изображение не найдено, но не в IPython
На Macos я установил DYLD_LIBRARY_PATH
сюда:
export DYLD_LIBRARY_PATH=/Applications/PicoScope6.app/Contents/Resources/lib
Если я запускаю эти две строки в IPython, это работает:
from ctypes import cdll
cdll.LoadLibrary("libps2000a.dylib")
но я запускаю их в стандартном интерпретаторе Python, я получаю:
$ /usr/bin/python
Python 2.7.10 (default, Feb 7 2017, 00:08:15)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from ctypes import cdll
>>> cdll.LoadLibrary("libps2000a.dylib")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
return self._dlltype(name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: dlopen(libps2000a.dylib, 6): image not found
EDIT1: я думаю, что это имеет какое-то отношение к Python, предоставленный Apple, потому что с /usr/local/bin/python2
(предоставлено brew
утилита), работает:
$ /usr/local/bin/python2
Python 2.7.13 (default, Jul 18 2017, 09:17:00)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from ctypes import cdll
>>> cdll.LoadLibrary("libps2000a.dylib")
<CDLL 'libps2000a.dylib', handle 7f8838d01f80 at 10b438f50>
РЕДАКТИРОВАТЬ 2: У меня есть тот же пб. с DYLD_LIBRARY_PATH
переменная, как с LD_LIBRARY_PATH
переменная
Что я могу сделать, чтобы "сказать" "Apple Python", чтобы "увидеть" DYLD_LIBRARY_PATH
?
1 ответ
На MacOS X это DYLD_LIBRARY_PATH
не LD_LIBRARY_PATH
,
Смотрите справочную страницу для dyld
для получения подробной информации о переменных среды вы можете установить, которые влияют на динамический компоновщик.