c++运行python代码导入自定义模块
c++ run python code to import custom module
我刚开始编写c++/python混合程序。
我已经编译了my_class.so(在c++中),并且可以在python中导入它。
以下程序运行时没有任何问题。
#!/user/bin/env python
from my_class import *
l = my_class()
l.doSomething("filename")
我把所有东西都放在同一个文件夹下,如果我启动python环境,我可以在没有任何错误的情况下完成以下操作
>>>import my_class
这是我接下来尝试的,我尝试从c++调用python脚本,"hello"answers"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
这并不完全令人惊讶,因为my_class不是一个标准模块,我可能需要告诉c++程序中的python运行时在哪里可以找到这个模块。
但我不确定我该怎么做。我想至少我可以尝试在python的标准路径中"安装"my_class.so作为一个自定义模块,但我想知道是否有更简单的解决方案。谢谢
制作.so
后,可以安装my_class.so
签出这篇文章和这篇文章。
相关文章:
- TraciMobility::getExternalId 将自定义模块添加到示例中时出错Veins_Inet (Omne
- Metatrader 5 向导无法识别我的自定义交易信号模块
- C++-在没有自定义.lib文件的情况下从Lua C模块调用Lua函数
- 如何将自定义C++模块集成到自定义版本的 NodeJS 中?
- 为什么无法在 Cocoa 应用程序调用的 C++ func 中嵌入自定义 Python 模块
- IIS 的自定义日志记录模块
- 使用自定义模块构建 python 解释器时出现问题
- 如何"install"由Boost.Python制作的自定义Python模块
- c++运行python代码导入自定义模块
- 如何将我的自定义模块与 Omnet++INET 的简单模块相结合
- 如何在我自己的自定义项目中使用 INET 或 Mixim 的模块
- Python ImportError-未定义的符号-用于自定义C++模块
- php自定义C++模块通过命令行工作,而不是在Web服务器上
- 使用具有自定义标量类型的特征::几何模块
- 将自定义 Apache 2.4 模块与 Linux 上的 httpd/apr 库静态链接时出错
- 如何为Apache模块定义自定义配置指令
- 我可以在Visual Studio 2010中使用C构建自定义Apache模块扩展吗
- 从自定义构建的Python导入自定义模块失败
- 自定义boost python模块内置mpi
- 如何将自定义模块加载到Lua中