如何在osx上创建python加载dylib

时间:2010-03-21 17:42:05

标签: python macos dylib

尝试从当前'。'加载共享库。 dir在osx的单元测试中。

在Linux和Netbsd上有一个符号链接_mymodule.so --> ../.libs/libmymodule.so

但是在osx上,python的import mymodule找不到

_mymodule.dylib --> ../.libs/libmymodule.dylib

我尝试过添加

export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH

到脚本env,nogo。任何帮助表示赞赏。

-Ed

更新4/6/10:

解决了以下krunk的信息。但是只是复制或者将dylib复制到.so名称并没有完全解决它。仍然不会加载。但是告诉libtool将lib与-module标志链接起来会创建一个将加载的.so库。 lib的Python版本现在可以使用了。

现在我可以让perl lib工作了。我正在构建swig perl,python,ruby和lua libs,这个修复只能让python和lua工作。

1 个答案:

答案 0 :(得分:13)

也可以在OS X中使用* .so作为模块扩展。我有一个模糊的记忆,无法加载.dylib's,而事实证明这是python本身的一个问题。 。 。但我现在找不到邮件列表。

但是,请放心,即使在OS X上使用* .so也遵循标准做法。整个框架中唯一的* .dylib是libsvn_swig。

find /System/Library/Frameworks/Python.framework/Versions/2.6/ -name "*.so"

/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/X11/xcb/xcb.0.0.0.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/X11/xcb/xcb.0.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/X11/xcb/xcb.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/CoreGraphics/_CoreGraphics.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/OpenSSL/SSL.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/OpenSSL/crypto.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/OpenSSL/rand.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_appmain.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_carbon.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_inlines.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_nsbezierpath.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_nsbitmap.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_nsfont.so
 /System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_nsquickdrawview.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_nsview.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_nswindow.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/CFNetwork/_manual.so