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

某公司人事管理网站开发设计中国北京官网

某公司人事管理网站开发,设计中国北京官网,红鹊豆网络网站站建设,怎么做app软件开发QT C中调用python脚本时#xff0c;import第三方库失败问题解决 文章目录 QT C中调用python脚本时#xff0c;import第三方库失败问题解决前言一、问题复现二、调试过程三、问题解决1 numpy问题解决2 matplotlib问题解决 四、补充说明五、参考资料 前言 项目需要#xff0c…QT C中调用python脚本时import第三方库失败问题解决 文章目录 QT C中调用python脚本时import第三方库失败问题解决前言一、问题复现二、调试过程三、问题解决1 numpy问题解决2 matplotlib问题解决 四、补充说明五、参考资料 前言 项目需要计划通过C的QT调用Python脚本实现更快的算法实现并集成在项目软件上。但是在按照网上教程配置好C调用Python脚本的环境后在调用import对应路径下的py文件时基本没有问题。但是一旦调用numpy、matplotlib时则PyImport_ImportModule函数即会返回失败 因此这里重点针对import第三方库却PyImport_ImportModule失败的问题进行解决。关于配置C调用Python脚本的环境参考上述链接即可并不复杂。 一、问题复现 首先对具体问题进行更加细致的复现。在C代码中具体代码如下。 // 1. 设置Python的运行环境目录Py_SetPythonHome(LD:/Software/anaconda3/envs/xxxx);// 2. 初始化python解释器Py_Initialize();// 2.1 检查初始化是否成功if (!Py_IsInitialized()) {qDebug() Python init fail;Py_Finalize();}// 3.1 执行Python脚本语句PyRun_SimpleString(print(I am Python!));// 3.2 初始化python系统文件路径保证可以访问到 .py文件PyRun_SimpleString(import sys);PyRun_SimpleString(sys.path.append(E:/Code/xxxx/));// 3.3 将文件作为模块import导入不需写后缀PyObject* pModule PyImport_ImportModule(MyTest);if (pModule NULL) {qDebug() module not found;return;}// 3.4 调用函数PyObject* pFunc PyObject_GetAttrString(pModule, test);if (!pFunc || !PyCallable_Check(pFunc)) {qDebug() not found function test;return;}在这里MyTest.py文件内代码如下。 import numpy as np from matplotlib import pyplot as plt import time import mathdef test():print(hello!)此时若将MyTest.py中import的四个模块语句注释则程序没有任何问题正常运行。但是若不注释那四句则 PyObject* pModule PyImport_ImportModule(“MyTest”)会返回NULL。这时便会给我们产生错觉似乎该环境下调用通过pip install安装的第三方库便会失败即需要进一步配置这些第三方库的环境。 二、调试过程 首先便是按照上述思路进行百度谷歌寻找答案主要是配置python的库文件的环境变量等这里不赘述总之这并不能解决问题 后来突然发现在C代码中有这么一句 PyRun_SimpleString(import sys);调试发现该句代码是成功运行的所以便推倒前述结论该环境下调用通过pip install安装的第三方库便会失败。那么也就是说仅是上述的某些库import失败了而非所有第三方库于是分别对MyTest.py中的import部分代码轮流注释如下 import numpy as np # from matplotlib import pyplot as plt # import time # import mathdef test():print(hello!)结果发现当单独import time与math时PyObject* pModule PyImport_ImportModule(“MyTest”)返回并不为空也就是说是导入成功的因此可以正确推出结论PyImport_ImportModule在执行Import numpy与matplotlib时会失败。 但是为什么会失败呢仅从上述代码中的返回结果仍然无法看出错误原因。于是修改C代码将下述两行代码加入到PyRun_SimpleString(“import sys”)之后。 PyRun_SimpleString(import numpy); PyRun_SimpleString(import matplotlib);于是背后真正的错误便迎面儿来了。当import numpy时错误为 and make sure that they are the versions you expect. Please carefully study the documentation linked above for further help.Original error was: DLL load failed while importing _multiarray_umath: 找不到指定的模块。当import matplotlib时错误为 ImportError: cannot import name Image from PIL (unknown location)三、问题解决 其实当背后错误出现时再解决问题就很好办了对应去搜背后错误的解决方法即可。我相应参考numpy问题解决与matplotlib问题解决两个问题便都迎刃而解了。这里总结一下。 1 numpy问题解决 重新安装numpy即可 pip uninstall numpy pip install numpy2 matplotlib问题解决 pip uninstall pillow pip install pillow可以发现都是通过重新安装库或者关键依赖库后问题得以解决至于具体原因是什么还不是非常清楚也由于时间问题就不深入挖掘了希望后续有大佬搞清楚以后欢迎交流讨论 四、补充说明 本部分为后续补充内容。在完成本篇博客后后续项目推进上又碰到了很多类似问题例如同样在C调用Python拓展模块时报错 ImportError: DLL load failed while importing cv2: 找不到指定的模块。此时我按照本文提出方法卸载opencv后继续安装也进一步安装了opencv-contrib-python模块等均未解决问题。后来考虑是否为opencv版本太高呢于是将opencv降版本至4.5.1.48问题解决至此大概可以为为本文的问题形成一个结论当出现找不到指定模块、DLL加载失败等类似问题时可考虑一种很大可能性是该库的版本与环境不匹配可能版本太旧但同样也可能版本太新此时可调整几个版本测试很多类似问题可能也就此解决了 另外在本部分的研究内容中需要自行编译支持gstreamer编码器的opencv感觉这类opencv库应该需求量很大但是却没有人提供编译好的库故此在这里提供链接。 五、参考资料 最后感谢各位大佬提供的前人经验 [1] alxe_made: Qtcreator中C调用python方法 [2] HJ: 成功解决ImportError: cannot import name ‘image‘ from ‘PIL‘unknown location [3] 衷科知眠: 成功解决ImportError: cannot import name ‘image‘ from ‘PIL‘unknown location
http://www.dnsts.com.cn/news/83783.html

相关文章:

  • 网站空间管理信息东莞网站建设咨询
  • 4399网页游戏开服表手机360网站seo优化
  • 做外贸必须用的社交网站免费装修设计图app
  • 中国建设工程人才库官方网站我看别人做系统就直接网站下载文件
  • 专业网站设计制作专业网站制作公司采用哪些技术制作网站?
  • 北京房产网站大全制作网站的专业公司吗
  • 软件企业公司网站模板企业网站域名备案流程
  • 群站wordpress新闻头条
  • 网站开发组件拖拽系统开发流程8个步骤
  • 重庆建站培训移动网站开发百科
  • 域名备案与网站备案的区别重庆旅游网站
  • 做网站销售怎么样来年做那些网站致富
  • 网站开发需要怎么做wordpress主题设置插件下载
  • 游戏网站制作淄博外贸网站哪家好
  • 网站301是什么人才市场网站源码
  • 公司注册网站查询dedecms的网站放在哪个文件夹里
  • 免备案的网站建设如何自己制作一个网站
  • 商城网站建站建设网站公司不给源代码
  • 网站开发商问花店老板saas建站是什么意思
  • 企业网站怎么做百度将网站建设外包出去的好处
  • 淄企业网站建设公司自己做网站麻烦吗
  • 金坛网站建设价格wordpress添加下载地址
  • 公司做网站需要注意些什么佛山制作网站设计报价
  • 网站后台修改网站制作的服务商
  • 网站通内容管理系统网站建设客户人群
  • 域名申请后怎么建网站开发一个应用程序
  • 苏州市网站建设博物馆网站建设必要性
  • 公众号网站怎么做的做智能网站
  • 甘肃省城乡城乡建设厅网站首页网站外链怎么看
  • HTML做网站的书籍网站特效代码html