Pyinstaller не могу собрать программу

Есть рабочий код, который отслеживает нажатия клавиш с помощью библиотеки pynput.

from pynput import keyboard


def on_press(key):
    print('press', key)


if __name__ == '__main__':
    t = keyboard.Listener(on_press=on_press).start()
    input('Press Enter to close program')

Если собрать его с помощью pyinstaller то при запуске появляется ошибка: введите сюда описание изображения

Windows 10, Python3.7.6, Pyinstaller 4.2

Как это можно исправить?


Ответы (1 шт):

Автор решения: Александр

Эта проблема связана с динамическим импортом.

PyInstaller не знает что pynput собирается подгружать ещё что то.

Решение такое:

C:\cmd>pyinstaller your_script.py  --hidden-import "pynput.keyboard._win32" --hidden-import "pynput.mouse._win32"
→ Ссылка