当前位置: 首页 > 面试题库 >

如何使osx上的python加载dylib

樊烨烨
2023-03-14
问题内容

尝试从当前“。”中加载共享库。dir在osx上进行单元测试。

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

但在osx上,import mymodule找不到python

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

我尝试添加

export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH

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

-埃德

更新4/6/10:

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

现在,如果我能使perl lib正常工作。我正在构建swig perl,python,ruby和lua库,并且此修复程序仅使python和lua工作。


问题答案:

只需将* .so用作OS X中的模块扩展即可。我有一个无法加载.dylib的模糊记忆,事实证明这是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


 类似资料:
  • 问题内容: 我运行了以下命令: 我该如何反转这两个命令以使我的python返回OSX的原始状态?(删除点子作为其中的一部分) 问题答案: 您应该尝试的第一件事是: 在许多无法正常工作的环境中。因此,鉴于缺乏有关该问题的信息,我最终从/ usr / local / bin中手动删除了pip。

  • 我运行了以下命令: 如何反转这两个命令以使python恢复到OSX中的原始状态?(将pip作为其一部分移除)

  • 编辑:这是我的swt.jar的清单,它在lib文件夹中

  • 问题内容: 我只是从Ruby(和Rails)开始。我使用http://ruby.railstutorial.org/ruby-on-rails-tutorial- book#sec:ruby gems 进行了设置。我的一切都与sqlite配合良好。 现在,我想尝试将其转换为MySQL,因为这是我大部分开发工作的基础。在我的Gemfile中,我已将sqlite替换为mysql2: 但是,当我尝试在M

  • 大多数帖子说,您需要编译SVN源代码,并以这种方式添加neon模块。我注意到有一个SVN版本我也可以更新。所以我尝试了这条路线。 以下是SVN更新URL:https://subversion.apache.org/download/#released-以下是Neon的URL:http://www.webdav.org/neon/ 然后我尝试使用以下命令配置它并支持neon:./configure-

  • 问题内容: 我对osx上的python有点困惑。我不知道笔记本电脑的先前所有者是否已使用macport安装了macpython。我记得osx具有内置版本的python。我尝试使用,结果返回 但是在这些位置运行两个python给了我。它们是否都引用提供的相同内置python mac? 我还读到安装macpython会 我看了看,里面有一个文件夹,上面有提到的东西。但是运行IDLE,我发现与上面相同的