我已经使用 cx_freeze 将 python 项目构建到带有 .exe 及其依赖项的单个文件夹中,但是当我运行 .exe 时出现错误:
AttributeError: module 'moviepy.audio.fx.all' has no attribute 'audio_fadein'
我已阅读 MoviePy 的文档,但无法找出发生这种情况的原因。我的 Python 程序在 IDE (PyCharm) 中运行完美,但在编译后,我收到 MoviePy 错误。我使用了推荐的from moviepy.editor import *
我实际上并没有在我的脚本中直接使用 audio_fadein
,所以当我显示我的视频时,它必须被 MoviePy 调用。这是代码:
def cherrybyte():
pygame.display.set_caption('©2017 CherryByte™ Software')
pygame.mouse.set_visible(False)
logo = VideoFileClip('CherryByte Logo.mp4')
logo.preview()
pygame.mouse.set_visible(True)
编辑:我现在也尝试将导入语句更改为 from moviepy.editor import VideoFileClip
但出现完全相同的错误。
我在使用 pyinstaller 构建 .exe 文件时遇到了同样的错误。但是,我将导入语句更改为 from moviepy.video.io.VideoFileClip import VideoFileClip
它奏效了。
我是一名优秀的程序员,十分优秀!