我正在开发一个在 Pillow 中使用 ImageGrab 的程序。我收到标题中提到的错误。我在文档中注意到它说的是通用的 pip install Pillow
不附带 libxcb。我尝试使用 pip install libxcb
安装 libxcb ,但它显然不存在。我试着在谷歌上四处寻找,但没有任何帮助。
如果有人能指出我需要安装的特定库和要运行的命令,我将不胜感激!
我应该提到我正在运行的 python 是 Windows Store v3.8。我试图在我的 SSD 上保留最少的数量,并且不希望我不会使用的东西产生大量开销。
最佳答案
我终于弄明白了。发生的事情是我试图使用 grab(x, y, w, h)
没有 bbox=(x, y, w, h)
范围。在我两天的旅程中,我没有在互联网上找到任何有用的东西。我一直认为它无法正常工作,因为缺少软件包或某些 Linux/Windows 转换依赖项。
我希望这可以帮助任何遇到这个非常简单但令人痛苦的错误的人。
这正是我在做什么:
def grab(x, y, w, h):
screen = np.array(ImageGrab.grab(x, y, w, h)) # Throws XCB error
...
return screen
以下是适用于 Windows 平台的正确代码:
def grab(x, y, w, h):
screen = np.array(ImageGrab.grab(bbox=(x, y, w, h))) # Throws no errors
# screen = np.array(ImageGrab.grab()) # Alternative that grabs full screen
...
return screen
关于python - "Pillow was built without XCB support",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61537007/