c++ - 嵌入python报错Import by filename is not supported

标签 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.

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

最佳答案

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

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

关于c++ - 嵌入python报错Import by filename is not supported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14465473/

相关文章:

python - 如何从 pdb 中调用 help()

python - 在 Google App Engine 上使用 Mandrill/MailChimp 发送确认邮件

c++ - 关于 std::hash 实现的公平假设

c++ - 使用 boost::filesystem 提取目录的父文件夹

c++ - 标签库教程

python - Relu 性能比 sigmoid 差?

python - 列表列表到 ndarray

c++ - 我什么时候想从原始指针构造一个共享指针

c++ - 保持数字不小于零的数学运算

python - 生成随机数 X,其中 X % Y = 0