当前位置: 首页 > news >正文

南昌做网站开发的公司哪家好东阳网站建设有哪些

南昌做网站开发的公司哪家好,东阳网站建设有哪些,锦州哪里做网站,免费动态图片素材网站步骤一#xff1a;在Anaconda中创建虚拟环境 这一点对大家来说应该很简单#xff0c;简单介绍一下#xff0c;不做过多解释。值得注意的是#xff0c;要用conda命令创建环境#xff0c;用pip install配置环境。 conda create -n c_python_env python3.9 # 用conda创建pyt…步骤一在Anaconda中创建虚拟环境 这一点对大家来说应该很简单简单介绍一下不做过多解释。值得注意的是要用conda命令创建环境用pip install配置环境。 conda create -n c_python_env python3.9 # 用conda创建python虚拟环境 conda activate c_python_env # 激活该虚拟环境 pip install numpy # 在虚拟环境中用pip安装python包 在Anaconda的安装目录下可以看到如下文件夹就是我们新创建的环境 步骤二在VS2017中创建一个C项目: C_Python 具体过程不再赘述在项目中创建一个文件“c_python_test.cpp”添加以下内容 c_python_test.cpp #include Python.h #include iostream #include string using namespace std;int main_() { //1. 初始化Py_Initialize();//使用python之前要调用Py_Initailize函数进行初始化if (!Py_IsInitialized){printf(初始化失败);return 0;}PyRun_SimpleString(print(hello world));PyRun_SimpleString(import numpy as np);Py_Finalize();system(pause);return 0; } 步骤三在VS2017中配置Anaconda创建的python环境 VS2017的设置如下 1在VS的项目属性配置属性VC目录包含目录中将Anaconda虚拟环境的根目录下的include文件夹添加进来 2在VS的项目属性配置属性VC目录 库目录中将Anaconda虚拟环境的根目录下的libs文件夹添加进来 3然后在VS的项目属性配置属性链接器输入附加依赖项中Anaconda虚拟环境的根目录下的libs/python39_d.lib添加上。如果没有python39_d.lib文件就把python39.lib复制一份重命名为python39_d.lib。 4拷贝Anaconda虚拟环境的根目录下的“DLLs”和“Lib”两个文件夹复制到exe所在文件夹x64/Release。没有exe文件夹就先编译生成一个。这一步很重要否则C无法找到虚拟环境中的第三方依赖库比如我们上面安装的numpy库。 拷贝到 5如果有必要把Anaconda虚拟环境中的python3.lib、python39.lib和python39_d.lib也拷贝到exe所在文件夹x64/Release。再一次如果环境中没有python39_d.lib文件就把python39.lib复制一份重命名为python39_d.lib。在我的测试中这一步不执行也没问题 拷贝到 步骤四 在VS2017中生成并运行项目 得到以下输出表示设置成功。  升级--步骤五创建python工程py_scriptC引入python脚本 假设python脚本的绝对路径为D:/wzg_projects/C_Python/py_script具体在哪里无所谓。创建以下两个python脚本 demo.py import numpy as np def formula1(A,F):print(A,F)return np.array(A*F) hello.py import demo as d def func(a,b):num d.formula1(10,20)print(result {}.format(num))print(hello world) 在VS2017中更改 c_python_test.cpp 脚本的内容 c_python_test.cpp #include iostream #include Python.h #include string using namespace std;int main_() {// 1. 开始python与c的接口模块初始化。Py_Initialize();//使用python之前要调用Py_Initailize函数进行初始化if (!Py_IsInitialized()){printf(python与c的接口模块初始化失败);return 0;}// 2. 可行性的基础验证测试成功后可注释掉//PyRun_SimpleString(print(hello world));//PyRun_SimpleString(import numpy as np);// 3. 添加python脚本的搜索路径PyRun_SimpleString(import sys);PyRun_SimpleString(sys.path.append(D:/wzg_projects/C_Python/py_script));// 4. 定义pythonObject类对象并实例化前向计算PyObject* pModule NULL;PyObject* pFunc NULL;// 1)pModule实例化pModule PyImport_ImportModule(hello);//通过python文件名寻找python脚本文件名不用加后缀把python脚本编码为c格式if (pModule NULL) // 如果找不到文件就报错{cout 没找到python脚本hello.py endl;return 0;}// 2) pFunc 实例化pFunc PyObject_GetAttrString(pModule, func);//从pModule脚本中提取名字为“func”的函数封装为c格式的pFunc函数if (!pFunc || !PyCallable_Check(pFunc)) {cout 没找到python函数func endl;return 0;}// 3) 把C变量转变成Python格式// i) 参变量的定义方式1//PyObject* pArgs Py_BuildValue(ii, 25, 6); // 定义函数的参变量。ii表示定义两个int类型的变量。还有许多其他格式可以具体情况具体改变。// ii) 参变量的定义方式2--推荐使用PyObject* pArgs PyTuple_New(2);PyTuple_SetItem(pArgs, 0 ,Py_BuildValue(i, 25)); // 把一个int类型的数据“25”放在python tuple的索引为0的位置。PyTuple_SetItem(pArgs, 1, Py_BuildValue(i, 6)); // 把一个int类型的数据“25”放在python tuple的索引为0的位置。// 4) 运行python函数PyObject* pReturn PyObject_CallObject(pFunc, pArgs); // 运行python函数计算函数的输出结果。把参数args2输入到函数pFunc中计算输出结果存储到pRet中。// 5. 把python格式的数据转变成c格式int cReturn 0;PyArg_Parse(pReturn, i, cReturn);//注意PyArg_Parse的最后一个参数必须加上“”符号。“i”表示转变成int类型的变量。cout cReturn: cReturn endl;// 6. 结束python与c的接口模块Py_Finalize();system(pause);return 0; } 重新生成项目运行可以实现对python脚本的调用。具体如何调用请看上面的代码注释还是比较详细的。 提示与思考 如果python脚本中存在bug无法运行或找不到依赖库c脚本仍旧可以顺利编译成功但是在运行时会提示无法找到python文件比如无法找到上面的“hello.py”步骤三中的过程----拷贝Anaconda虚拟环境的根目录下的“DLLs”和“Lib”两个文件夹复制到exe所在文件夹x64/Release。没有exe文件夹就先编译生成一个。这一步很重要否则C无法找到虚拟环境中的第三方依赖库比如我们上面安装的numpy库。 这一步不可省略。经试验把这两个文件夹添加到vs2017的库目录中也无法解决这个问题。在步骤五的c_python_test.cpp脚本中需要设置python脚本的寻找路径防止C找不到python脚本。为了未来的可扩展性、易用性和可移植性或许这一步可以通过cmake、qt等方式以自动化的方式解决。应该编写一个接口函数用于c和python相互传递参数并把这个函数固定下来。linux环境下没有vs2017应该如何设置c的python依赖库呢用cmake编译好 参考及进一步学习 [1] C调用python方法及环境配置Windows环境、VS工具 [2] C调用Python遇到的问题总结anaconda的虚拟环境、使用python第三方库如pytorch、pytorch geometric [3] C调用Python混合编程函数整理总结 [4] C调用python脚本  [5] C/C 调用Python  [6] C调用python 之 环境配置(VS2015 anaconda) [7] C调用python文件包含第三方库  更多扩展教程 [1]  图像处理深度学习python代码改写成c推理 [2] python调用C中的函数【最简明教程】  [3] [pybind11]为c项目写python API接口 - 知乎  [4] C和python的代码如何相互调用 - 知乎
http://www.zqtcl.cn/news/536257/

相关文章:

  • 怎么样做一个自己的网站遵义软件制作平台
  • 推广网站实例建设厅的证在哪里查询
  • 分类网站建设方案做学校教务处网站
  • 如何做链接淘宝客的网站只做画册的网站
  • docker可以做网站吗专业的营销型网站
  • 重庆市建设工程安全网站上海制造网站公司
  • 咨询网站公司建设计划书安卓软件开发软件
  • 手机网站建设文章直播平台开发多少钱
  • 站长综合查询工具常用的网站开发语言有哪些
  • 免费网站看v片在线第一次做乌市seo网络营销流程
  • 社交网站模板下载柬埔寨网赌网站开发
  • 网站开发合同是否要交印花税杭州集团网站建设
  • 企业网站建设排名资讯一个公司做两个网站可以吗
  • 简单门户网站开发灰色行业seo大神
  • 网站开发学那种语言外贸推广网站建设
  • 公司网站建设及推广中国优秀企业网站欣赏
  • 个人代做网站建设京东类的网站需要什么流程
  • 建设一个地方门户网站厦门网站开发排名
  • 网站建设公司广告标题语网站设计主题有哪些
  • 网站推广方式主要通过做网站所需的知识技能
  • 我想在阿里巴巴网站开店_怎么做app建设网站公司
  • 西安做百度网站的制作网站公司选 择乐云seo
  • 网站优化建设河南手机模拟器
  • 网站建设运维标准深圳企业vi设计公司
  • 做网站怎么挣钱中小型企业网站建设
  • 深圳如何搭建建网站学校网站的建设与应用
  • 免费推广网站入口2023燕wordpress看图插件
  • 网站做不做301四川省住建设厅网站
  • 优化方案官网电子版一个网站做两个优化可以做吗
  • 企业网站排名提升软件智能优化上海网站制作的费用