__main __. pyinstallerimporterror не смог загрузить dynlib / dll "shcore" - PullRequest
2 голосов
/ 20 февраля 2020

Я использую pyinstaller для упаковки exe-файла.

Он может нормально работать на моем компьютере (Win 10).

Но на компьютере другого человека (Win 7) он показывает, что

__main__.pyinstallerimporterror failed to load dynlib/dll "shcore".

О shcore, я использую

import ctypes
PROCESS_PER_MONITOR_DPI_AWARE = 2
ctypes.windll.shcore.SetProcessDpiAwareness(PROCESS_PER_MONITOR_DPI_AWARE)

Что мне делать? Заранее спасибо.

1 Ответ

3 голосов
/ 21 февраля 2020

Минимально поддерживаемый клиент для SetProcessDpiAwareness равен Windows 8.1.

И в соответствии с PROCESS_DPI_AWARENESS:

В предыдущих версиях Windows не было настройки для PROCESS_PER_MONITOR_DPI_AWARE. Приложения были либо DPI не знают, либо DPI знают. Устаревшие приложения, которые до 10 * * 8.1 классифицировались как DPI, считаются имеющими значение PROCESS_DPI_AWARENESS, равное PROCESS_SYSTEM_DPI_AWARE, в текущих версиях Windows.

Вы можете использовать только SetProcessDPIAware для установки System DPI Aware

...