moviepy打包错误的解决方法:module ‘moviepy.audio.fx.all‘ 和 TypeError: ‘module‘ object is not callable

当使用moviepy进行打包后运行,遇到module 'moviepy.audio.fx.all'错误和TypeError,常规解决方案失败。通过修改moviepy源代码,将`print("from moviepy.audio.fx import %s" % (name))`替换为`print("from ...%s import %s" % (name, name))`成功解决问题。具体操作包括修改video和audio的fxall_init_.py文件,注释掉部分语句。" 110871728,10401072,C语言实现数字分解排序,"['C语言', '排序算法']

错误描述

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 in __all__:
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值