小编Hon*_*Han的帖子

当文件有导入语句时,Python C api PyImport_importmodule 失败

我尝试使用Python C api在C++中调用Python中的函数,测试成功。

但是,如果我打算导入一个已经导入其他模块的模块,那么 Pymodule_findmodule 将返回 Null,即使它在那里并创建了一个编译文件。这是我的代码

Py_Initialize();
PySys_SetPath("C:/Users/Mik/Documents/GitHub/youtube-dl");      
PyObject * pythonFile = PyImport_ImportModule("test2");
Run Code Online (Sandbox Code Playgroud)

这是该目录中名为 test2.py 的 python 文件,其中包含一个名为 test_dl.py 的文件和一个名为 TESTDL 的类

from test_dl import TESTDL 
def someFunction(someInput):
    return 12345
Run Code Online (Sandbox Code Playgroud)

一旦我添加了导入行,我的程序就不再将其识别为模块

编辑:结果 test_dl 的第一行为:

 from __future__ import unicode_literals
Run Code Online (Sandbox Code Playgroud)

这就是我收到此 ImportError: No module named future的原因

谢谢!

c++ python python-c-api python-import

2
推荐指数
1
解决办法
8929
查看次数

标签 统计

c++ ×1

python ×1

python-c-api ×1

python-import ×1