C++调用python脚本(test.py这个脚本中import numpy)程序崩溃

我想在c++中调用python的一个脚本,这个脚本中我只是import了一个numpy就报错了,而如果是简单的脚本(没有import第三方库)就不会出错,我已经把:
INCLUDEPATH += C:/Python27/include/
LIBS += C:/Python27/libs/python27.lib
添加进去了,

  pyrun_simplestring("import sys");
  pyrun_simplestring("import numpy");
  pyrun_simplestring("sys.path.append('c:\python27\lib\site-packages\')");
  pyerr_print();
  pyobject * pmodule = null;
  pyobject * pfunc = null;
  pmodule =pyimport_importmodule("test_my");      //test001:python文件名
  pfunc= pyobject_getattrstring(pmodule, "testdict"); //add:python文件中的函数名
  pyobject *pargs = pytuple_new(1);
  pyobject *pdict = pydict_new();        //创建字典类型变量
  pydict_setitemstring(pdict, "name", py_buildvalue("s", "wangyao"));     //往字典类型变量中填充数据
  pydict_setitemstring(pdict, "age", py_buildvalue("i", 25));             //往字典类型变量中填充数据
  pytuple_setitem(pargs, 0, pdict);                 //0---序号  将字典类型变量添加到参数元组中

  pyobject *preturn = null;
  preturn = pyeval_callobject(pfunc, pargs);      //调用函数
  int size = pydict_size(preturn);
  cout << "返回字典的大小为: " << size << endl;
  pyobject *pnewage = pydict_getitemstring(preturn, "age");
  int newage;
  pyarg_parse(pnewage, "i", &newage);
  cout << "true age: " << newage << endl;

  py_finalize();

这是python的脚本:

 #import numpy as np
def HelloWorld():  
    print "Hello World"  
def add(a, b):
    #tmp=np.random.randint(10,88)   
    return a+b  
def TestDict(dict):  
    print dict  
    dict["Age"] = 17  
    return dict  
class Person:  
    def greet(self, greetStr):  
        print greetStr  
#print add(5,7)  
#a = raw_input("Enter To Continue...")

老是报错,但如果我把import numpy去掉就没问题,求大神解答,困扰好久了~~~

c++
1

5个回答

楼主 我也遇到这个问题 你解决了么。。。。求交流 很急

0

很急,我也遇到这个问题,不知道怎么解决,是C++和Python的版本不兼容吗?好晕~~

0

我也是同样的问题,import numpy 或者 tensorflow都不行。楼主解决了吗?

0

我也一样的问题,最后怎么解决的?版本问题还是其它?

0
-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Windows C++中嵌入Python脚本含import numpy等库出现问题
C++调用Python脚本问题在C++中调用Python脚本如果使用第三方库,如import numpy/ PIL/ scipy/ opencv/ PIL/ matplotlib等这些库文件时可能就会出现如下图所示错误:n在VS中使用64位debug版,而且是debug版有问题,而release版没有问题(后来发现的release版可以正常运行)如果release版也有类似问题,那么我的方法估计不会
使用C++调用Python脚本的步骤和问题解决办法
实现了C++调用Python脚本的功能,在这个过程中遇到了很多问题。rnrnrn  1)C++调用Python脚本的步骤:rn     在使用Python系统前,必须使用Py_Initialize对其进行初始化。它会载入Python的内建模块并添加系统路径到模块搜索路径中。Py_Initialize(); rn     载入名为isBlur的脚本。pModule = PyImport_Import
C 使用System Call:exec 执行Python 脚本(或其他程序)
以前写java的时候有过几次想调用Python的念头,但是当时水平比较低不知道怎么办(但是好像才学编程一学期吧,什么都不懂,唉,其实有好多库可以调用)。最近在上操作系统课的时候讲到System Call。其中有一个exec正好可以完成上述工作,只不过是从C里执行而已。System Call 就是操作系统与应用程序之间的接口。当在user space 中调用system call时会进入kernel
c++调用python脚本遇到的那些坑
问题一:一开始我是在qt上编写程序的,qt是32bit,但Python是64bit,在*.pro文件中配置了:nnINCLUDEPATH += C:/Python27/include/nLIBS += C:/Python27/libs/python27_d.libn还是报错,究极原因是bit位数一定要匹配,因此要下载64bit的qt,但自带编译器的qt MinW版找了好久没看到64bit,
Linux上如何测试、运行python脚本
有两种方式:1、直接使用python xxxx.py执行。其中python可以写成python的绝对路径。使用which python进行查询。2、在文件的头部(第一行)写上#!/usr/bin/python2.7,这个地方使用python的绝对路径,就是上面用which python查询来的结果。然后在外面就可以使用./xxx.py执行了。因为在linux中,python啊shell这些程序都是
Java调用Python脚本
1、本地环境安装的是Python 2.7.11nn2、用maven下载jython依赖nn org.pythonn jythonn 2.7.0n3、python脚本编写n#coding:utf-8nndef adder(a, b): n return a + b nndef mytest(str2):n print str2n n4、Java调用Py
Python学习之路(1)--python运行三种方式
第一个python程序,三种不同的运行方式
java 执行python脚本(出现由于python导入了其他包而无法成功执行的问题)
最近因为项目需要,使用了java执行python脚本的方式,结果虽然师兄那的代码可以成功执行print(‘helloworld’),但一旦执行我这边的python脚本就无法成功执行的结果,而且也没有在控制台报任何错,最后查了半天才发现可能是python有引入第三方包而导致在执行python脚本的时候无法成功执行代码只有这一行:nProcess p = Runtime.getRuntime().exe
在Java中使用Jython调用Python脚本遇到的各种问题
使用Jython调用Python程序时,由于Python程序使用了numpy库等,而使用java时不会自动导入库,需要手动设置路径。nn参考:nnhttps://blog.csdn.net/xfei365/article/details/50996727nnhttps://bbs.csdn.net/topics/392314370?page=1nnhttps://blog.csdn.net/u01...
c程序多次调用python脚本的正确打开模式
问题描述:c程序中需要多次调用python脚步;nn初始做法:每次调用python脚步时,开始初始化python环境(Py_Initialize),调用完之后结束python环境(Py_Finalize();)n问题:程序偶然会出现崩溃的现象;nnnnc程序多次调用python脚本的正确打开模式如下:n1. 在主线程中这样处理nn // 初始化n Py_Initia
【VS2013】C语言调用Python脚本环境搭建、函数调用和调用demo.py脚本an
1、环境配置:n1)安装VS2013(注意语言包一定要正确安装)n如果提示--MS VS 检测到已安装的语言资源版本不匹配。则如下处理:nn建立vs_langpack.exe的快捷方式,然后修改路径,后面加上“空格 /Uninstall”n例如:(“E:\Downloads\vs_langpack.exe /Uninstall”)n然后修复安装即可n2)安装PTVS 2.2 VS 2
Django框架之在Python脚本中调用Django环境
简介nn当我们写好Django项目后,需要在项目中利用Python脚本测试和调用数据时,我们可以使用一以下方法。nn在Django项目下建立一个文件目录作为脚本代码环境,在其中创建py文件复制以下代码进去:nnnimport osnnif __name__ == '__main__':n # 加载Django环境,books_management_system是我的Django项目名称n ...
用python自动化仿真HFSS,超简易
n n n npython是一款适用性极强的编程语言。一直期待HFSS(三维全波电磁场仿真的行业标准)能有python接口。后知后觉的本人才发现原来HFSS16(2015版本)已经不止支持VB脚本,还增加了python支持,当然它用的是Ironpython,基于.NET,和Cpython还是有一定区别,Numpy和Scipy这些库的使用上可能还存在问题。正好网上有牛人...
VS2015下C++调用Python脚本
C++调用Python在一些特殊的场景下有一定的价值。比如,要调用一个REST服务,c++本身做HTTP Client会很烦,如果使用Python脚本去调用服务,返回结果给c++端就可以绕开这个问题。因为最近在一个原型开发中遇到了这个问题,所以为了快速拿出东西来,我决定使用这种方法。rn使用效果一般,主要是太慢用来做demo还行,可能是我还没用好。rnrn官方文档rnhttps://docs.py
Hive调用python脚本
Hive的 TRANSFORM 关键字提供了在SQL中调用自写脚本的功能,本实例通过python脚本对电影数据进行清洗,帮助读者了解hive调用python脚本的整个流程。rn操作步骤:rn1、创建基表rnCREATE TABLE u_data (rn userid INT, //用户IDrn movieid INT, //电影IDrn rating INT, //电...
c 调用Python脚本和函数(一)
1.pynnnimport numpy as npndef data():n# matrix=np.arange(1,100)n matrix=[[0,1,2,3],[1,1,1,1]]n print matrixnn1.cppnnn#include&lt;Python.h&gt;nint main()n{n Py_Initialize();n PyRun_SimpleString("...
python-第三方库安装脚本
#BatchInstall.pynimport osnlibs = {&quot;numpy&quot;,&quot;matplotlib&quot;,&quot;pillow&quot;,&quot;sklearn&quot;,&quot;requests&quot;,\n &quot;jieba&quot;,&quot;beautifulsoup4&quot;,&quot;wheel&quot;,&quot;networkx&quot;,&quot;sympy&quot;,\n
执行Python脚本,报import某些包出错的笨解决方法
执行Python脚本时,import requestsnn但是本地没有requests包用pip又下载不下来时nn可以在https://pypi.org/project 网站搜索缺失的包,如requestsnn找到需要的版本,下载.whl格式的包nn下载至本地后解压缩一下,解压缩生成的有一个requests和requests-2.21.0.dist-info文件夹,将这两个文件夹都粘贴到项目的ve...
Windows C++程序调用包含TensorFlow代码的Python脚本出错问题的解决办法
在上一篇博文《如何实现Visual Studio C++调用TensorFlow代码》的末尾,我们提到,运行程序时,PyImport_ImportModule("TensorflowTest")可能会出错。出错信息如下:nnnn可以看到,出错的原因是因为触发了threading.py的“assert tlock.locked()”。n如果在命令行中执行pythonTensorflowTe
Python笔记:import导入本地脚本
导入本地脚本nnnimport 如果你要导入的 Python 脚本与当前脚本位于同一个目录下,只需输入 import,然后是文件名,无需扩展名 .py。 伪代码如下:nnimport useful_functionsnuseful_functions.add_five([1, 2, 3, 4])n我们可以为导入模块添加别名,以使用不同的名称引用它。nnimport useful_functions...
xcode编译程序时调用python脚本
最近发现xcode的一个新用法。xcode在编译程序前和编译程序后其实是可以调用shell或者其他脚本语言的,有了这个,真的是大大的方便了了我们开发人员了。因为,这样我就可以在编译程序之前调用svn的命令把服务器上同事写的源码自动更新之后再进行编译。甚至可以先用脚本语言去读一些自已写的配制文件,然后根据配置文件生成编译时要用到的代码。然后再一起打包编译,这确实是太方便了。今天我就用python脚本
gdb加载python脚本的方法
脚本名称为hello.py,内容如下:rnimport gdb nclass HelloPrefixCommand( gdb.Command ):n "just to say hello"nn def __init__(self):n super( HelloPrefixCommand, self).__init__("hello",n gd
flask的外部脚本的使用
1.在flask文件夹中新建一个manage.py文件,在文件中输入以下代码nnnnfrom flask_script import Managernfrom learn_flask_script import appnnmanager = Manager(app)nn@manager.commandndef hello():n print(&quot;hello world&quot;)nnnn在终端中使用p...
C#调用python脚本
C# PYTHON 互调
c程序调用python脚本,python脚本中的危险分子global变量
情况说明:当c程序循环调用某一特定脚本时,若python脚本中有global变量;nnnn例如:脚本中存在global变量,如:global retValue=""n脚本中有对retValue的赋值,如:reValue=retValue+result(其中result是有其它函数返回获取到的);nn问题:在多次调用该python脚本时,每一次得到的结果都是前几次结果的连接;
vb调用脚本执行文件合并
看到这个题目你也许会问,都什么年代了还用VB。不得已啊!谁让对方提供的程序是VB的。改写其他的吧,没时间(yongqi),只能用一招损招了,通过vb执行shell调用python写的脚本:
python学习笔记 一
1.安装pythonrn官方下载 https://www.python.org/downloads/rnhttps://www.python.org/downloads/release/python-363/rnrn安装完毕添加环境变量:默认安装位置 C:\Users\mervins\AppData\Local\Programs\Python\Python36rn2.编辑调试fft.py文件rni
在C#中调用python脚本,并使用python第三方arcpy模块
前言n1、C#中调用python脚本,一是通过ironpython直接运行python脚本,二是通过调用Process类启动电脑上的python.exe,运行python脚本。n前者在使用第三方arcpy模块式,会提示错误:No Module Named arcpy,网上的解决方案是在python脚本中通过sys.appendpath添加arpy路径,但是又会提示新的错误:No Module
c++调用python脚本
之前是纯python脚本在跑一些功能,就当时在用matlab做图像处理,做做实验还可以。上到项目还是要用C++,rn但python里面的一些功能代码又不想再用C++代码再实现一遍,故用C++来调用一些python脚本。长久之计还是rn完全用C++代码实现吧。rn下面介绍下相关配置吧:rn1.用VS2013新建一个控制台程序,选择Release X64配置rnrnrn2.sample1.cpp里代码
C++调用Python脚本碰到的问题及解决方法【更新中】
LNK1104: 无法打开文件“python27_d.lib"n将#define Py_NO_ENABLE_SHARED 加入到python.h里nnn2016/12/16n【1】无法解析的 外部符号 Py_Initialized,该符号在main中被引用n原因:VS工程是win32项目,Python是64位的。n解决:首先要把各种配置弄好:n项目属性->c/c++常规->附加包含
shell 脚本执行python脚本,连接hive提交数据写入表
nn使用说明n技术实现说明nshell 脚本 try2.shnpython脚本nnnnnnnnn使用说明nn1.cd /opt/zy n在这个目录下以root用户权限执行命令 n2. n在SAP查询的时候 nTcode:ZMMR0005 n Purchase Org * n PO Creating:2017/3/1 (开始日期) 2017/6/31(结束日期) nVendor n1000341 ...
python脚本获取可执行文件的依赖库
python脚本获取可执行文件的依赖库
linux中如何利用Python来调用shell命令及其运行shell脚本
在linux操作系统中,如何利用Python调用shell命令nn首先介绍一下python命令nn利用python调用shell的方法很多nn1】os.system(command)nn结果:  执行的运行command命令,加上command命令执行完毕后的退出状态。nn使用:nnimport osnnos.system(command)nn例如  os.system('ls') 和os.sys...
Python一般程序和脚本的区别
今天学习Python,就输出一个hello,文件名是python.py ,遇到的问题nnprint('hello')nn作为一般程序直接在终端执行nn$ python python.pynn正常输出nnhello nn更改权限nnchmod 777 python.pynn再用脚本命令直接执行nn./python.pynn出错了,问题如下nnbash: ./python.py:行1: 未预期的符号 ...
Python 脚本如何执行另一个脚本
关于Python 脚本如何执行另一个脚本,可以使用os.system()来实现nnnnos.system()的参数: 执行的命令 +执行的内容 n举例说明:nnnn(1)显示当前文件夹下的全部目录和文件夹nnos.system('dir') //dir 显示磁盘目录命令nn(2)删除指定文件夹下的文件nnos.system('del e:\\test\\test.txt') //del 删除...
使用python脚本执行系统命令
利用python调用系统命令
在VS2017中用C#调用python脚本
情景是这样的:在C#中调用python脚本进行post请求,python脚本中使用了requests包。nnPython的开发环境我们有比较多的选择,pycharm、sublime text等等。但是作为.net平台的Python语言ironPython,可以和C#交互,让编程更活泛。nnironPython本身其实就是一个python的开发环境,我的电脑上还装有python2.7和pycharm...
Java调用Python脚本,以及报错解决
极少数时候,我们会碰到类似这样的问题:与 A 同学合作写代码, A 同学只会写 Python,而不熟悉 Java,而你只会写 Java 并不擅长 Python,并且发现难以用 Java 来重写对方的代码,这时,就不得不想方设法“调用对方的代码”。下面举一些简单的小例子,借此说明:如何在 Java 中调用 Python 代码。nn什么是 Jython? nnJython(原 JPython
C++ 多线程调用Python脚本
由于Python解释器有全局解释所GIL的原因,导致在同一时刻只能有一个线程拥有解释器,所以在C++多线程调用python脚本时,需要控制GIL,线程获取GIL。n在主线程中初始化Python解释器环境,代码如下:n {n Py_Initialize(); //初始化Python环境n if ( !Py_IsInitialized() ) //检测是否初始化成功n {n r
Shell调用Python函数
Shell调用Python函数nnShell脚本调用Python函数,本例子是通过Shell调用Python脚本,检查服务器上的某端口是否开启,编写的Python脚本port.py,脚本内容:nnn#!/usr/bin/pythonn# port.pynnimport socketnndef scan(port):n    s = socket.socket()n    s.settimeout(...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python中numpy教程 学习python脚本