在C+;中嵌入的python脚本中使用matplotlib时出错+;程序 我有一个Python脚本,它在C++应用程序中被调用。导入matplotlib时,出现以下错误
列表索引超出范围 在我的脚本中,唯一的在C+;中嵌入的python脚本中使用matplotlib时出错+;程序 我有一个Python脚本,它在C++应用程序中被调用。导入matplotlib时,出现以下错误,python,c++,matplotlib,Python,C++,Matplotlib,列表索引超出范围 在我的脚本中,唯一的matplotlib相关代码是 导入matplotlib.pyplot作为plt f=plt.图() 当我单独调用脚本时,它就工作了。只有当它嵌入到C++程序中时,才会得到这个例外。当脚本使用matplotlib时,是否需要提供一些额外的依赖项 当我注释掉matplotlib函数时,我没有得到异常 更新 C++代码来自Python文档 我没有修改C++代码中的任何内容。只要没有matplotlib相关代码,它就可以工作 原因是在我的例子中,matplot
matplotlib
相关代码是
导入matplotlib.pyplot作为plt
f=plt.图()
当我单独调用脚本时,它就工作了。只有当它嵌入到C++程序中时,才会得到这个例外。当脚本使用matplotlib时,是否需要提供一些额外的依赖项
当我注释掉matplotlib
函数时,我没有得到异常
更新
C++代码来自Python文档
我没有修改C++代码中的任何内容。只要没有matplotlib相关代码,它就可以工作 原因是在我的例子中,
matplotlib
使用的后端是tk
。tk
的窗口初始化中有此代码
baseName=os.path.baseName(sys.argv[0])
在我的例子中,argv是空的,这就是列表索引超出范围的原因
我找到了一份工作。我们可以这样传递虚拟值:
wchar_t const*dummy_args[]={L“Python”,NULL};//常量是必需的,因为不能修改文本
wchar\u t const**argv=虚拟参数;
int argc=sizeof(伪参数)/sizeof(伪参数[0])-1;
PySys_SetArgv(argc,const_cast(argv));
你能提供一个??如何嵌入C++?更新了帖子中我已经提到的POST。1.3纯嵌入。