c++运行python代码导入自定义modu

2024-04-26 05:55:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我对编写c++/python混合程序很陌生。在

我把我的_类。所以(在c++中)并且可以在python中导入它。在

以下程序运行正常。在

#!/user/bin/env python
from my_class import *
l = my_class()
l.doSomething("filename")

我把所有的东西都放在同一个文件夹下,如果我启动python环境,我可以毫无错误地执行以下操作

^{pr2}$

这是我接下来尝试的,我试图从c++调用python脚本, “hello”和“import numpy”部分运行成功,没有任何问题。在

接下来我尝试了一些纯实验性的东西,我想测试一下可能性,但是我不希望有任何真正的应用程序,我想导入我自己的类。 如下所示(我知道我正在创建一个c++/python/c++链):

#include <Python.h> 

int main(int argc, char *argv[]){ 
      Py_Initialize(); 
      //PyRun_SimpleString("print \"hello!\""); 
      //PyRun_SimpleString("import numpy"); 
      PyRun_SimpleString("import my_class"); 
      Py_Finalize(); 
      return 0; 
}

我得到了以下错误:

Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named my_class

这并不完全令人惊讶,因为我的_类不是一个标准模块,我可能需要告诉c++程序中的python运行时在哪里可以找到这个模块。在

但我不知道我该怎么做。我想至少我可以试着“安装”我的_类。所以作为python标准路径中的一个自定义模块,但是我想知道是否有更简单的解决方案。谢谢!在


Tags: 模块pyimport程序numpyhello标准my