Ошибка после компиляции: AttributeError: module 'moviepy.audio.fx.all' has no attribute 'audio_fadein'

Есть код:

from moviepy.editor import VideoFileClip
import pygame

pygame.display.set_caption('Для выхода нажмите ESC')
pygame.init()
clip = VideoFileClip('pozdravlenie.mp4')
run = True
while run:
    clip.preview(fps=30, fullscreen=True)
    clip.set_position(("center", "center"))
    pygame.display.flip()

    keys = pygame.key.get_pressed()
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    if keys[pygame.K_ESCAPE]:
        run = False

pygame.quit()

После компиляции через pyinstaller выдает ошибку:

AttributeError: module 'moviepy.audio.fx.all' has no attribute 'audio_fadein'

Kак исправить? Очень нужно запустить данный скрипт на windows 10.


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

Автор решения: Павел

Тоже мучался с этой темой... Идеальным решением оказалось только копирование вручную папки "moviepy" в пакет проекта. Если пользуетесь cx_freeze, то поможет в файле setup включение этой папки. Пример setup.py для cx_freeze:

from cx_Freeze import setup, Executable

executables = [Executable('my_script.py',
                      targetName='my_app.exe',
                      base='Win32GUI',
                      icon='my_icon.ico')]
options = {
    'build_exe': {
        'include_msvcr': True,
        'build_exe': 'my_folder_name_for_app',
        'includes': ['moviepy'],
    }
}

setup(name='my_app_name',
      version='1.0.0',
      description='my_app_description',
      executables=executables,
      options=options)

Где my_... это ваши файлы, папки и названия.

Если пользуетесь auto-py-to-exe, (что по сути просто генератор комманд для pipinstall) то в addition files добавить папку "moviepy" из вашей сборки Python. У меня она находилась по адресу:

C:\Pyton3_9_x32\Lib\site-packages\moviepy

→ Ссылка