C++ 调用Python3 脚本中无法引入内建模块的问题 解决方法

前言: 最近用tensorflow(偷懒版)搞一点小东西,由于python的性能捉鸡,采用C++来采集数据。于是要C++起调python的模块。windows下的偷懒版,只能用3.5+,不然也没这么多事了。



问题:起调的脚本中无法引入内建模块

C++ 调用Python3 脚本中无法引入内建模块的问题 解决方法新建一个C++ 调用Python3 脚本中无法引入内建模块的问题 解决方法
新建一个简单的文件

C++ 调用Python3 脚本中无法引入内建模块的问题 解决方法
通过对numpy是否引入 进行对比,发现的确是无法引入内建模块引发的错误。

ps:qt环境下PyErr_Print();这个函数没反应,才出此下策。

原因:猜测是C++起调的Python环境在运行脚本时没有使用环境变量(或者压根没去扫描内建模块),导致找不到模块路径。

解决方案:1.将要引入的内建模块拷贝到运行目录下

C++ 调用Python3 脚本中无法引入内建模块的问题 解决方法
C++ 调用Python3 脚本中无法引入内建模块的问题 解决方法

2.import通过绝对路径找到内建模块

注:从试验的结果上来看,错误的确时由找不到模块路径引发