hidden-imports
будет добавлять только сам модуль, а не его зависимости. Кажется, что PyInstaller не может обрабатывать moviepy
автоматически, и ему не хватает некоторых зависимостей, таких как imageio-ffmpeg
, поэтому вы можете использовать класс Tree
и добавить оба moviepy
и imageio-ffmpeg
в final исполняемый файл.
Ваш файл спецификаций должен выглядеть следующим образом: (Не забудьте отредактировать путь модуля на основе вашего каталога Python)
# -*- mode: python -*-
block_cipher = None
a = Analysis(
...
)
a.datas += Tree("./env/Lib/site-packages/moviepy", prefix='moviepy')
a.datas += Tree("./env/Lib/site-packages/imageio_ffmpeg/", prefix='imageio_ffmpeg')
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
...
Наконец, сгенерируйте свой исполняемый файл с помощью:
pyinstaller script.spec