как заставить Python загрузить dylib на osx

Попытка загрузить общий lib из текущего '.' 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 сценария, остановке. Любая справка ценится.

- Ed

обновление 06.04.10:

Решенный с информацией от krunk ниже. Но просто копирование или ln-s'ing dylib к имени .so не решило его полностью. Все еще не загрузился бы. Но говоря libtool связывать lib с - флаг модуля создал .so lib, который загрузится. Версия Python lib работает теперь.

Теперь, если я мог бы просто получить работу lib жемчуга. Я создаю жемчуг большого глотка, Python, рубин, и lua освобождает, и эта фиксация только получила работа lua и Python.

7
задан navicore 6 April 2010 в 16:23
поделиться

1 ответ

Просто используйте * .so в качестве расширений вашего модуля и в OS X. Я смутно помню, что не могу загрузить .dylib, и это оказалось проблемой с самим python. . . но сейчас я не могу найти сообщение в списке рассылки.

Однако будьте уверены, что вы следуете стандартной практике, используя * .so даже в OS X. Единственные * .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
13
ответ дан 6 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: