“枕头是在没有 XCB 支持的情况下构建的”

aby*_*smu 5 python pip python-imaging-library python-3.x

我正在开发一个在 Pillow 中使用 ImageGrab 的程序。我收到标题中提到的错误。我在文档中注意到它说pip install Pillowlibxcb 没有提供泛型。我尝试使用 安装 libxcb pip install libxcb,但它显然不存在。我试着在谷歌上四处寻找,但没有任何帮助。

如果有人能指出我需要安装的特定库和要运行的命令,我将不胜感激!

我应该提到我正在运行的 python 是 Windows Store v3.8。我试图在我的 SSD 上保留最少的数量,并且不希望我不会使用的东西产生大量开销。

aby*_*smu 7

我终于弄明白了。发生的事情是我试图在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
Run Code Online (Sandbox Code Playgroud)

以下是 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
Run Code Online (Sandbox Code Playgroud)