如何使用Python调用C ++代码?

时间:2015-12-11 16:55:28

标签: python c++

我正在学习机器学习,我想建立一个推荐系统。首先,我想使用两种现有方法进行前N推荐,它们都是用C ++代码编写的。由于文件庞大而复杂,我想用Python调用它们,而不是在其上添加代码。哪种工具适合我的情况?提前谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用标准python api Cython Boost.python 。使用boost.python更容易。你必须在你的c ++库中添加很少的代码并将其编译为模块库,然后你可以从python调用它。

通过提升,您可以轻松添加您的课程及其方法。另外,你可以引入一个对象的向量,这样可以更容易地将数据传递给python并返回到你的库。

我推荐使用boost.python,但你可以自己寻找。如果你谷歌的话,有很多关于cython和boost.python的教程。

答案 1 :(得分:0)

绝对使用Cython。有助于简化流程的有用工具:runcython(简化Cython使用)和Google的protobuf库(简单/快速消息序列化库)。以下是帮助人们入门的一个非常简单的示例:https://github.com/nicodjimenez/python2cpp