Python使用moviepy库报错,AttributeError: module ‘PIL.Image‘ has no attribute ‘ANTIALIAS‘

最近想在电脑自己实现一个视频转GIF工具(保护隐私,还没水印),于是打算使用python的moviepy库,代码如下。
 

from moviepy.editor import VideoFileClip

name = "1"

# 加载视频文件
clip = VideoFileClip("C:\\Users\\19700\Desktop\\{}.mp4".format(name))

print(clip.size)
# 调整视频像素大小
clip_resized = clip.resize(newsize=(480, 270))

# # 将视频转换为GIF并调整帧率
clip_resized.write_gif(f"C:\\Users\\19700\\Desktop\\{name}.gif", fps=15)

然而在运行的时候出现"AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS'"错误


原因是moviepy库在2020年就停止维护了,而它借助的Pillow库还在持续维护,从7.0.0版本开始ANTIALIAS 常量已经不存在了。
然而python311不支持安装Pillow低于7.0.0版本的库(也不想重装python)

解决方式: 找到以下路径的python文件(moviepy库的文件)

C:\Users\19700\AppData\Local\Programs\Python\Python311\Lib\site-packages\moviepy\video\fx\resize.py

将37行的 Image.ANTIALIAS 改成 Image.Resampling.LANCZOS
(Image.ANTIALIAS 是一个选项,用于在调整图像大小时指定高质量的下采样滤波器。在最新版本的 Pillow(Pillow 7.0.0 及更高版本)中,它已被 Image.Resampling.LANCZOS 替换。)


修改后重启python后再运行就成功啦!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值