在Visual Studio C++中设置PYTHONPATH环境变量

4

我有一个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 环境变量并不能帮助。


1
设置环境变量应该没问题,但请注意,如果您在VS2012中调试此代码,则需要在设置环境变量后重新启动IDE,因为它只会在启动时读取它们。 - Roger Rowland
1个回答

3
这里是设置模块搜索路径的方案:
  1. 脚本位置;没有脚本的当前目录。
  2. 如果设置了PYTHONPATH变量,则使用该变量。
  3. 对于Win32平台(NT/95),使用注册表中指定的路径。
  4. 默认目录lib、lib/win、lib/test、lib/tkinter;如果设置了环境变量PYTHONHOME,则相对于该变量进行搜索,否则相对于可执行文件及其祖先进行搜索(如果找到标志文件Lib/string.py),或者当前目录(不实用)。
  5. 包含可执行文件的目录。
你可能需要重新启动IDE才能使它生效。

感谢您提供的出色答案 - 实际上该错误与原问题无关,但是您的回答确实是正确的。 - Mike Vella

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接