“OSError:dlopen(libSystem.dylib,6):找不到图像”(OS X + macports + Celery 3.1.7)

时间:2014-01-04 01:40:00

标签: python macos virtualenv macports

我刚刚通过pip(1.5)将celery更新到最新版本(3.1.7),但是我得到了一个致命的异常,我很快就会尝试导入该库。通过运行:

我得到的shell中的

from celery import Celery

File "<console>", line 1, in <module>
  File "/Users/davidezanotti/CygoraPythonEnv/lib/python2.7/site-packages/celery/__init__.py", line 130, in <module>
    from .five import recreate_module
  File "/Users/davidezanotti/CygoraPythonEnv/lib/python2.7/site-packages/celery/five.py", line 51, in <module>
    from kombu.five import monotonic
  File "/Users/davidezanotti/CygoraPythonEnv/lib/python2.7/site-packages/kombu/five.py", line 47, in <module>
    libSystem = ctypes.CDLL('libSystem.dylib')
  File "/opt/local/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(libSystem.dylib, 6): image not found

我在OS X 10.8.5上使用带有VirtualEnv和macports的python 2.7.6

我理解问题是缺少底层依赖(“libSystem.dylib”),但我不知道如何解决这个问题

(在/ usr / lib /下我可以在我的机器上找到libSystem.dylib)

2 个答案:

答案 0 :(得分:5)

只需将/ usr / lib添加到DYLD_FALLBACK_LIBRARY_PATH即可解决此问题。

答案 1 :(得分:2)

问题在于我在 .bash_profile 中定义了一个DYLD_FALLBACK_LIBRARY_PATH,在postgis上关注了关于macports的说明:https://docs.djangoproject.com/en/1.6/ref/contrib/gis/install/#macports

但这会导致意想不到的行为,就像我面对的那样,无论如何通过评论它,一切似乎都有效!