«Подушка была построена без поддержки XCB» - PullRequest
0 голосов
/ 01 мая 2020

Я работаю над программой, которая использует ImageGrab в Pillow. Я получаю ошибку, указанную в названии. Я замечаю в документации, что говорится, что generi c pip install Pillow не поставляется с libxcb. Я попытался установить libxcb с pip install libxcb, но, видимо, его там не существует. Я попытался посмотреть в Google на это, но ничего из этого не помогло.

Если бы кто-нибудь мог указать мне на указанную библиотеку c, которую мне нужно установить, и команды для запуска, я был бы признателен!

Я должен отметить, что python, который я использую, это Windows Store v3.8. Я пытаюсь сохранить минимальное количество на своем SSD и не хочу больших накладных расходов, которые я не буду использовать.

1 Ответ

0 голосов
/ 04 мая 2020

Я наконец понял это. Я пытался использовать grab(x, y, w, h) без параметра bbox=(x, y, w, h). За два дня пути я не нашел ни одной полезной вещи на Inte rnet. Я думал, что все это время не работало из-за отсутствующего пакета или какой-либо зависимости конверсии 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
...