我有一个 C++ 程序,它导入一个 Python 模块,沿着这个片段的行:

#include <Python.h>

char python_module[] = "my_module";

Py_Initialize();
PyObject* pName;
pName = PyString_FromString(python_module);
pModule = PyImport_Import(pName);

但是,模块需要在 PYTHONPATH 上才能实际加载模块。在 Mac 或 Linux 上,这相对简单 - 在运行编译程序的术语上设置 PYTHONPATH。有没有办法为 Visual Studio C++ 做到这一点?设置 PYTHONPATH Windows 环境变量没有帮助。

最佳答案

这是设置模块搜索路径的方案:

  • 脚本位置;没有脚本的当前目录。
  • PYTHONPATH 变量(如果已设置)。
  • 对于 Win32 平台 (NT/95),在注册表中指定的路径。
  • 默认目录 lib、lib/win、lib/test、lib/tkinter;这些都是
    相对于环境变量 PYTHONHOME 进行搜索(如果已设置),或
    相对于可执行文件及其祖先,如果是地标文件
    (Lib/string.py) 已找到,或当前目录(无用)。
  • 包含可执行文件的目录。

  • 您可能需要重新启动 IDE 才能使其正常工作。

    10-07 13:37
    查看更多