python如何加载Boost.Python库?

时间:2010-08-31 11:45:34

标签: python shared-libraries boost-python

考虑以下原型Boost.Python模块,该模块从单独的C ++头文件中引入类“D”。

/* file: a/b.cpp */
BOOST_PYTHON_MODULE(c)
{
    class_<d>("D")
}

当我将它编译成共享库时,我很困惑如何将它暴露给Python。

  1. 我该怎么称呼图书馆? a.so? liba.so? b.so? libb.so?
  2. 图书馆需要在哪里?我可以将它留在子目录中吗?

1 个答案:

答案 0 :(得分:3)

我们更愿意调用库_c.so,将其放入模块中,然后添加基本上__init__.py的{​​{1}}。所以你有:

  • from _c import *
    • package
    • _c.so