在OSX上安装pycairo失败:'pkg-config'搜索路径问题

5
我一直在尝试在Mac OS X上安装pycairo。但是我遇到了一个错误信息。最初,我得到了“pkg-config未找到”的错误。通过brew安装后,我得到了“在pkg-config搜索路径中未找到cairo软件包”的错误。理论上,我可以尝试编辑搜索路径,但由于这是通过pip进行的操作,我本应该期望这已经全部处理好了。有没有办法告诉pip将东西放在pkg-config知道的位置?以下是完整的错误信息。
> pip install pycairo
Collecting pycairo
  Using cached https://files.pythonhosted.org/packages/48/20/5e83af98eb897935bf7dc39455e892ba866feebb9b7c3b392982866f9958/pycairo-1.18.1.tar.gz
Building wheels for collected packages: pycairo
  Building wheel for pycairo (setup.py) ... error
  ERROR: Complete output from command /Applications/anaconda/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/private/var/folders/f2/bzrj46j11gzdk19j91tp1sq80000gq/T/pip-install-lahb8lq4/pycairo/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/f2/bzrj46j11gzdk19j91tp1sq80000gq/T/pip-wheel-scnvplas --python-tag cp36:
  ERROR: running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.7-x86_64-3.6
  creating build/lib.macosx-10.7-x86_64-3.6/cairo
  copying cairo/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/cairo
  copying cairo/__init__.pyi -> build/lib.macosx-10.7-x86_64-3.6/cairo
  copying cairo/py.typed -> build/lib.macosx-10.7-x86_64-3.6/cairo
  running build_ext
  Package cairo was not found in the pkg-config search path.
  Perhaps you should add the directory containing `cairo.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'cairo' found
  Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.13.1']' returned non-zero exit status 1.
  ----------------------------------------
  ERROR: Failed building wheel for pycairo

如果我使用pip安装较旧版本,也会出现相同的错误。
这里有一个类似的问题:如何在Windows上安装pycairo时解决问题?,但与我遇到的错误看起来不同(而且我不满意答案)。
你有什么建议来解决这个问题吗?

你使用这个命令 brew install pkg-config 来安装 pkg-config 包吗? - Manjeet Thakur
我的机器上没有安装brew。我一直使用pip来安装Python包。我还没有遇到过pkg-config,所以我认为它是随pycairo一起提供的某种配置文件...但现在谷歌告诉我它不仅仅是这样... - Joel
@ManjeetThakur 冒昧提问,我已经安装了pkg-config,但是新的错误是“在pkg-config搜索路径中未找到cairo包。” 我正在编辑问题以包括此信息。 你有什么建议可以让我在pip中解决这个问题吗? - Joel
pycairo are just Python bindings to cairo package. Install it first via Homebrew: brew install cairo - hoefling
尝试通过brew安装cairo包,然后再尝试pip install pycairo。我认为这可能会对你有所帮助。 - AbdolHosein
显示剩余2条评论
2个回答

5

我也遇到了这个问题。

我正在使用Q4OS(Debian),没有安装brew。

以下是我解决这个问题的步骤。

sudo apt-get update -y
sudo apt-get install -y pkg-config
sudo apt-get install libcairo2-dev libjpeg-dev libgif-dev
sudo pip install pycairo

2
对于一个OSX(Mac)的问题来说并不是特别有帮助。 - M1GEO
也适用于Ubuntu! - undefined

2

在问题的评论帮助下,我成功解决了这个问题。总结如下:

brew install pkg-config
brew install cairo
pip install pycairo

面对使用llama_index下载器('ConfluenceReader')时出现的问题,已成功修复。 - Roman Kuznetsov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接