嵌入python错误不支持按文件名导入

ceo*_*ron 7 c++ python

我正在尝试将python嵌入到我的应用程序中并且很早就被卡住了.

我将python嵌入到我的C++应用程序中并使用本教程中的代码:http: //docs.python.org/2/extending/embedding.html#pure-embedding

我的应用程序完全匹配并成功编译没有错误.但是在运行应用程序pModule = PyImport_Import(pName);行时失败返回0表示我从PyErr_Print()得到错误输出

Failed to load "C:\Users\workspace\dpllib\pyscript.py"
ImportError: Import by filename is not supported.
Run Code Online (Sandbox Code Playgroud)

使用命令调用应用程序 C:\Users\workspace\ndnlib\pyscript.py multiply 50 150

小智 7

我不能确定,但​​我认为既然pName设置为argv [1]并且您使用完整路径来调用脚本,那么argv [1]就是完整路径.这意味着代码会尝试导入"C:\ Users\workspace\dpllib\pyscript.py",而python则无法导入(它只能导入"pyscript").

尝试通过在目录中键入"pyscript.py"来运行脚本,并查看错误是否更改为"无法加载"pyscript.py"'.如果是,那么你必须修复它,这样它不仅导入argv [1]并修改字符串以获取模块名称而不是文件名.