【发布时间】:2015-03-28 11:37:20
【问题描述】:
我在 Windows 7 平台上运行 python 脚本时遇到了一些问题。我已经安装了 Python 和 cairo,最后一个使用“pip”。我正在使用以下命令运行脚本:
C:\Python34>python.exe label/make_label.py
我收到以下错误消息:
Traceback (most recent call last):
File "label/make_label.py", line 6, in <module>
import cairocffi as cairo
File "C:\Python34\lib\site-packages\cairocffi\__init__.py", line 41, in <modul
e>
cairo = dlopen(ffi, *CAIRO_NAMES)
File "C:\Python34\lib\site-packages\cairocffi\__init__.py", line 34, in dlopen
return ffi.dlopen(names[0]) # pragma: no cover
File "C:\Python34\lib\site-packages\cffi\api.py", line 118, in dlopen
lib, function_cache = _make_ffi_library(self, name, flags)
File "C:\Python34\lib\site-packages\cffi\api.py", line 411, in _make_ffi_libra
ry
backendlib = _load_backend_lib(backend, libname, flags)
File "C:\Python34\lib\site-packages\cffi\api.py", line 400, in _load_backend_l
ib
return backend.load_library(name, flags)
OSError: cannot load library libcairo.so.2: error 0x7e
我已经做了如下:
- 在环境变量中添加了 GTK/bin 的 PATH
- 我检查文件夹 GTK/bin 并找到“libcairo-2.dll”,因此我将其重命名为 libcairo.so
我不知道还有什么其他信息对解决这个问题有用,但请告诉我,我会尝试添加。
【问题讨论】:
-
您必须确保 Windows(和 Python)可以找到 libcairo-2.dll。我怀疑 Windows/Python 是否会自动在 GTK/bin 中搜索。我不确定将 dll 文件重命名为 so 扩展名是一件好事。
-
嗯,我所做的是将 libcairo.dll(以及 libcairo.so)的位置添加到环境变量的 PATH 中。我一直假设它试图检查那个位置。我还能如何将 Python 指向正确的方向?