解决办法

下载 gtk3-runtime-3.24.29-2021-04-29-ts-win64.exe后安装。
记得勾选添加bin目录到环境变量:

这样就不会缺失dll了,当然可能需要重启IDE才能生效,因为添加了新的PATH环境变量。

其它

如果你还是报同样的错那么现在往下看,来深入理解一下为什么这样。
这也是我解决的问题的过程。
首先我们找到报错库的位置。这里可以使用pip show cairosvg:

其中的Location就是包的安装路径,进入库目录(cairocffi)后,打开其中的 __init__.py 文件:

可以看到报错的位置是第 35 行代码,而调用这个函数的位置就是第 38 行代码,而这个函数的逻辑就是查找 dll, 输入是4个文名,内部循环 lib 与名字进行拼接也就是形成2个名字,所以一共是8个文件名,只要有一个dll找到并调用成功就会 return ,那么就不会报错(其实只要有一个调用成功就可以运行)。所以我们可以在 29-30 行代码之间插入一个输出 print(path) 看看是否找到了我们之前安装 gtk3-runtime-3.24.29-2021-04-29-ts-win64.exe 中的 dll 文件,而我当时就发现其调用到的是我之前安装的 Tesseract-OCR,由于我在 Tesseract-OCR 也添加了 PATH 环境变量,并且是在 gtk3-runtime-3.24.29-2021-04-29-ts-win64.exe 的 PATH 环境变量前面,根据环境变量调用的就近原则,那么就会导致 调用到 Tesseract-OCR 中的 dll,从而报错,所以解决办法也很简单,将 gtk3-runtime-3.24.29-2021-04-29-ts-win64.exe 的 PATH 环境变量提前就可以了。

OSError: dlopen() failed to load a library: cairo / cairo-2 / cairo-gobject-2 / cairo.so.2的更多相关文章

  1. Failed to load JavaHL Library.

    以前使用的电脑是32位的,安装的svn可以正常使用,但是现在的电脑室64位的,安装好svn后,把项目提交到svn的过程中,总是弹出来一个错误的对话框: Failed to load JavaHL Li ...

  2. 启动Eclipse弹出:Failed to load JavaHL Library 错误框的解决办法

    一.问题背景描述: eclipse安装完svn插件以后,在启动时出现:Failed to load JavaHL Library.  These are the errors that were en ...

  3. Ubuntu14.04下安装ZendStudio10.6.1+SVN出现Failed to load JavaHL Library

    Subclipse不能正常工作,打开后报错: Failed to load JavaHL Library. These are the errors that were encountered: no ...

  4. mac eclipse svn subeclipse: Failed to load JavaHL Library.

    Failed to load JavaHL Library. These are the errors that were encountered: no libsvnjavahl-1 in java ...

  5. Selenium IE6 Failed to load the library from temp directory: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\IED1C1.tmp

    项目中用到了使用Selenium打开IE浏览器.前期都是基于IE8+.Firefox.Chrome.项目后期开始现场测试时发现大部分客户还都是使用的Windows XP + IE6.结果可想而知,直接 ...

  6. Failed to load JavaHL Library. These are the errors that were encountered:

    问题: Failed to load JavaHL Library.These are the errors that were encountered:no msvcp100 in java.lib ...

  7. CentOS SVN Failed to load JavaHL Library

    在CentOS 6上的eclipse安装了svbclipse插件后,svn不能使用,并且第一次使用的时候还出现下面错误窗口提示 Failed to load JavaHL Library. These ...

  8. Failed to load JavaHL Library. SVN

    以前使用的电脑是32位的,安装的svn可以正常使用,但是现在的电脑室64位的,安装好svn后,把项目提交到svn的过程中,总是弹出来一个错误的对话框: Failed to load JavaHL Li ...

  9. SVN错误:Failed to load JavaHL Library

    环境:jdk1.7(64bit),eclipse4.4(64bit),SVN1.10.3 问题:在利用subclipse同步资源时,报出错误提示 Failed to load JavaHL Libra ...

  10. 2018.12.31 Failed to load JavaHL Library.错误解决

    创建项目出现下面的错误 Failed to load JavaHL Library. These are the errors that were encountered: no libsvnjava ...

随机推荐

  1. 来点基础的练习题吧,看见CSDN这类基础的代码不多

    来点基础的练习题吧,看见CSDN这类基础的代码不多 //正三角形 void ex03(){ int i,k=0, rows, space; printf("请输入三角形的层次:") ...

  2. 【设计模式】Java设计模式 - 装饰者模式

    Java设计模式 - 装饰者模式 不断学习才是王道 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 原创作品,更多关注我CSDN: 一个有梦有戏的人 准备将博客园.CSDN一起记录分享自 ...

  3. docker学习笔记一-docker安装与卸载

    环境查看 # 1 查询当前centOS的版本,官方要求版本为7以上 uname -r 查询系统内核 cat /etc/os-release 系统版本 安装 # 1.卸载旧版本 yum remove d ...

  4. Windows下使用SSH连接到旧设备

    正好今天遇到一个旧设备有点问题,需要通过SSH的方式连接上去检查.Windows 10自带了SSH命令,可以直接连接而不必寻求其它工具的支持了.如果看不到图,请点我. 结果发现无法连接,显示协商错误. ...

  5. Windows 2012 R2 计划任务发送邮件

     这两天把域控制器升级到了2012 R2,忽然发现原本用的系统自动发邮件提示用户账户锁定的计划任务配置起来有点麻烦了.原因是微软把自动发送邮件和提示消息的功能从计划任务中去除了. 首先用wevtu ...

  6. 使用docker-compose.yml安装rabbitmq集群

    1.拉取镜像 集群中每个节点都需要执行 docker pull rabbitmq:3.8.3-management 2.上传docker-compose文件,设置可执行权限 相关文地址:https:/ ...

  7. Fielddata is disabled on text fields by default Set fielddata=true on [service.address]

    2个字段的: PUT metricbeat-7.3.0/_mapping { "properties": { "service": { "proper ...

  8. Beats:Beats 入门教程 (二)

  9. Elasticsearch:跨集群搜索 Cross-cluster search(CCS)及安全

    文章转载自:https://elasticstack.blog.csdn.net/article/details/116569527

  10. 对list集合中元素按照某个属性进行排序

    test 为集合中的元素类型(其中包含i属性) Collections.sort(list,(test o1, test o2) -> { if (o1.getI() != o2.getI()) ...