moviepy+pyinstaller的打包问题

今天在用pyinstaller打包文件时,发现打包出来的exe运行就闪退,网上搜索一番之后发现是moviepy的锅

报错信息大概如下:

AttributeError: module audio/video.fx.all has no attribute fadein、crop

明明引用了moviepy的包,但是打包的时候找不到函数

这两篇文章说明了原因,并提供了一个解决方案

但是需要修改moviepy包中文件,说不定对以后使用有影响呢?所以我使用了另一种方案

引入包的时候不使用

from moviepy.editor import *

而是分别导入每个函数,例如:

from moviepy.video.io.VideoFileClip import VideoFileClip
from moviepy.video.fx.crop import crop

当然,调用crop等函数时也要有一些变化

原来是这样的:

clip = (VideoFileClip(file).crop(x1=loc_x[0],y1=loc_y[0],x2=loc_x[1],y2=loc_y[1])

现在要这么写:

clip1 = (VideoFileClip(file).fx(crop,x1=loc_x[0],y1=loc_y[0],x2=loc_x[1],y2=loc_y[1])

 

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注