首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装了cairosvg和cairocffi,但在导入时出现错误

安装了cairosvg和cairocffi,但在导入时出现错误
EN

Stack Overflow用户
提问于 2017-06-21 21:00:36
回答 1查看 1.1K关注 0票数 5

当我试图安装cairosvg时,它说需求满足了。

代码语言:javascript
复制
Requirement already satisfied: cairosvg in 
c:\users\kshitij\appdata\local\programs\python\python35\lib\site-packages
Requirement already satisfied: cairocffi in 
c:\users\kshitij\appdata\local\programs\python\python35\lib\site-packages 
(from cairosvg)
Requirement already satisfied: lxml in 
c:\users\kshitij\appdata\local\programs\python\python35\lib\site-packages 
(from cairosvg)
Requirement already satisfied: cssselect in 
c:\users\kshitij\appdata\local\programs\python\python35\lib\site-packages 
(from cairosvg)
Requirement already satisfied: pillow in 
c:\users\kshitij\appdata\local\programs\python\python35\lib\site-packages 
(from cairosvg)
Requirement already satisfied: tinycss in 
c:\users\kshitij\appdata\local\programs\python\python35\lib\site-packages 
(from cairosvg)
Requirement already satisfied: cffi>=0.6 in 
c:\users\kshitij\appdata\local\programs\python\python35\lib\site-packages 
(from cairocffi->cairosvg)
Requirement already satisfied: olefile in 
c:\users\kshitij\appdata\local\programs\python\python35\lib\site-packages 
(from pillow->cairosvg)
Requirement already satisfied: pycparser in 
c:\users\kshitij\appdata\local\programs\python\python35\lib\site-packages 
(from cffi>=0.6->cairocffi->cairosvg)

但是,当我试图在空闲中导入它时,它会给出以下错误:

代码语言:javascript
复制
import cairosvg
File "C:\Users\Kshitij\AppData\Local\Programs\Python\Python35\lib\site-
packages\cairosvg\__init__.py", line 29, in <module>
 from . import surface
File "C:\Users\Kshitij\AppData\Local\Programs\Python\Python35\lib\site-
packages\cairosvg\surface.py", line 24, in <module>
import cairocffi as cairo
File "C:\Users\Kshitij\AppData\Local\Programs\Python\Python35\lib\site-
packages\cairocffi\__init__.py", line 41, in <module>
cairo = dlopen(ffi, *CAIRO_NAMES)
File "C:\Users\Kshitij\AppData\Local\Programs\Python\Python35\lib\site-
packages\cairocffi\__init__.py", line 34, in dlopen
return ffi.dlopen(names[0])  # pragma: no cover
File "C:\Users\Kshitij\AppData\Local\Programs\Python\Python35\lib\site-
packages\cffi\api.py", line 140, in dlopen
lib, function_cache = _make_ffi_library(self, name, flags)
File "C:\Users\Kshitij\AppData\Local\Programs\Python\Python35\lib\site-
packages\cffi\api.py", line 786, in _make_ffi_library
backendlib = _load_backend_lib(backend, libname, flags)
File "C:\Users\Kshitij\AppData\Local\Programs\Python\Python35\lib\site-
packages\cffi\api.py", line 781, in _load_backend_lib
raise OSError(msg)
OSError: cannot load library libcairo.so.2: error 0x7e.  Additionally, 
ctypes.util.find_library() did not manage to locate a library called 
'libcairo.so.2'

这可能是因为cairocffi,因为它在导入时也会出现以下错误:

代码语言:javascript
复制
import cairocffi
File "C:\Users\Kshitij\AppData\Local\Programs\Python\Python35\lib\site-
packages\cairocffi\__init__.py", line 41, in <module>
cairo = dlopen(ffi, 'cairo', 'cairo-2')
File "C:\Users\Kshitij\AppData\Local\Programs\Python\Python35\lib\site-
packages\cairocffi\__init__.py", line 38, in dlopen
raise OSError("dlopen() failed to load a library: %s" % ' / '.join(names))
OSError: dlopen() failed to load a library: cairo / cairo-2

我有一个基于64位windows的架构,使用python3.5,并安装了cairocffi-0.8.0,安装时没有问题。

EN

回答 1

Stack Overflow用户

发布于 2020-07-13 02:56:13

我使用UniConverter2.0解决了这个问题。我的环境是

  • Python 3.7
  • Windows 10 x64
  1. 安装headless.msi
  2. 查找UniConverter安装路径下的"dll“子目录。(在我的例子中,C:\Program Files\UniConvertor-2.0rc4\dlls)
  3. 将此"dll“路径添加到系统路径。
  4. 关闭VSCode(或其他编辑器)并重新打开项目。
  5. 尝试再次运行您的代码。享受吧!
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44686194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档