cómo hacer pitón dylib carga en OSX
Pregunta
El intentar cargar una librería compartida fuera de la corriente ''. dir en una prueba de unidad en osx.
Lo que funciona en Linux y NetBSD hay un enlace simbólico _mymodule.so --> ../.libs/libmymodule.so
pero en OSX, import mymodule
del pitón no encontrará
_mymodule.dylib --> ../.libs/libmymodule.dylib
He intentado añadir
export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH
para el env guión, Nogo. Cualquier ayuda apreciada.
-Ed
Actualización 4/6/10:
solucionado con la información de krunk a continuación. Pero sólo copiar o de fase con la -s'ing dylib a un nombre .so no resolvió por completo. Aún no se cargue. Pero contando libtool para vincular el lib con la bandera -module creó un lib .so que cargar. versión Python de las obras lib ahora.
Ahora bien, si solo pudiera conseguir el trabajo lib Perl. Estoy construyendo Perl trago, Python, Ruby y bibliotecas LUA y esta revisión solo recibió Python y Lua de trabajo.
Solución
Sólo tiene que utilizar * .so como sus extensiones de módulos en OS X también. Tengo un vago recuerdo de no ser capaz de cargar de .dylib y resultando ser un problema con el pitón en sí. . . pero no puedo encontrar la posterior lista de correo ahora.
Sin embargo, estar seguro de que está siguiendo la práctica habitual utilizando * .so que es aún en OS X. Los únicos * de .dylib en todo el marco son los 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