c++加载python模块,但是PyImport_ImportModule老返回NULL

问题描述: 

调用 PyImport_ImportModule加载python老是返回NULL,如下所示:“没有找到符号” 

解决办法:

import某块返回值为0的是因为:VC工程的当前工作目录和.py文件所在目录不一致导致的。
当.py文件和工程不在统一目录时,若要import .py文件,只需要在import之前增加python的搜索目录就可以了:

   PyRun_SimpleString("import sys"); 
   PyRun_SimpleString("sys.path.append('py所在目录')");


#include "stdafx.h"
#include 
#include 
#include   
using namespace std;    //导入std名字空间  


int _tmain(int argc, _TCHAR* argv[])
{
	
	cout << "Starting Test..." << endl;
	Py_Initialize();//使用python之前,要调用Py_Initialize();这个函数进行初始化  
	PyObject * pModule = NULL;//声明变量  
	PyObject * pFunc = NULL;//声明变量 
	PyRun_SimpleString("import sys");
	PyRun_SimpleString("sys.path.append('D:/2018program/VCPythonFile/VCPythonFile/')");
	cout << "------------"<

c++加载python模块,但是PyImport_ImportModule老返回NULL_第1张图片

helloworld.py 内容如下:

c++加载python模块,但是PyImport_ImportModule老返回NULL_第2张图片

你可能感兴趣的:(python,学习)