首页 > 解决方案 > 将 Python 嵌入到第三方应用程序回调的 DLL 文件中的问题

问题描述

我正在尝试构建一个第三方应用程序(TRNEXE.exe)将使用的 DLL(使用 C++)。在 DLL 文件中,我想嵌入一些 Python 代码。所以我使用 pybind11 和 C/Python API。这适用于 Python 的标准模块,例如 sys、os、traceback 等。但是,当我尝试导入位于 site-packages 文件夹中的 Python 模块时,例如 NumPy、pandas 或其他类似:PyRun_SimpleString (" import NumPy") (使用 C/Python API) pybind11:: exec ("import NumPy") 或当我在由 DLL 文件调用的外部 Python 代码中导入 NumPy 时

该程序不再工作。程序似乎找不到包。

此外,我还尝试将 Python 代码嵌入到 C++ 控制台应用程序中(这意味着我从 C++ 源代码构建了一个可执行(而不是 DLL)文件,该文件调用了一些 Python 代码)并且它适用于所有 Python 模块。

有没有人有这种问题的经验,对我有什么建议吗?

PS我在PATH中设置了必要的值

标签: c++dllcpythonpybind11

解决方案


推荐阅读