错误描述
moviepy打包后运行,出现module ‘moviepy.audio.fx.all’ 和 TypeError: ‘module’ object is not callable等错误信息,找到网上的方法【print(“from moviepy.audio.fx import %s” % (name))】却失败,根据他这个方法举一反三,我直接【print(“from …%s import %s” % (name, name))】居然解决了,下面是具体修改方法。
操作方法
1.打开C:\Users\xxx\AppData\Local\Programs\Python\Python37\Lib\site-packages\moviepy\video\fx\all_init_.py
看到如下代码:
"""
Loads all the fx !
Usage:
import moviepy.video.fx.all as vfx
clip = vfx.resize(some_clip, width=400)
clip = vfx.mirror_x(some_clip)
"""
import pkgutil
import moviepy.video.fx as fx
__all__ = [name for _, name, _ in pkgutil.iter_modules(
fx.__path__) if name != "all"]
for name in __all__:
exec("from ..%s import %s" % (name, name))
修改代码为:
"""
Loads all the fx !
Usage:
import moviepy.video.fx.all as vfx
clip = vfx.resize(some_clip, width=400)
clip = vfx.mirror_x(some_clip)
"""
import pkgutil
import moviepy.video.fx as fx
__all__ = [name for _, name, _ in pkgutil.iter_modules(
fx.__path__) if name != "all"]
for name