c/c++调用python程序且含tensorflow第三方库

本文介绍了如何在C/C++程序中调用包含TensorFlow库的Python程序,详细阐述了环境配置、附加依赖项设置,并针对调用过程中遇到的问题,如参数传递和模块导入失败等,提供了解决方案。通过修改Python配置和添加命令行参数,成功运行含TensorFlow的Python程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于纯python程序而言,用c程序来调用是比较适合的,如果python程序中包含了其他第三方库,则调用极可能出错,且不易查明原因。如笔者曾用c程序调用包含tensorflow的python程序,有的可以成功,有的则卡在某条语句,百般尝试也未能实现。
一、纯python程序
以下程序编译环境为VS2013,,所用tensorflow版本为1.4.0 和1.9.0,python版本为3.6.2
所做设置也为调用tensorflow所准备,对于普通的python调用而言只多不少:
1、环境配置
需要安装anaconda软件
①将vs工程配置为X64平台
②包含目录 添加路径 D:\anaconda\include
③库目录 添加路径 D:\anaconda\libs
④附加依赖项 添加 python36.lib
2、编写代码如下:
.py文件需和编译生成的.exe文件放在一起
test.py代码

#coding:utf-8
import os

def run(com):
   return com
def main():
    print(run(("4",3)))
    
if __name__=='__main__':
   main()

c.cpp代码

#include<iostream>
#include <Python.h>

using namespace std;

int main()
{
   
   
	//***python调用***//
	//初始化python模块
	Py_Initialize();
	// 检查初始化是否成功  
	if (!Py_IsInitialized())
	{
   
   
		cout << "初始化失败" << endl;
		Py_Finalize();
	}

	PyObject *pModule;
	PyObject*pFunc = 
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值