Pyinstaller:moviepy打包报错AttributeError: module ‘moviepy.audio.fx.all‘ has no attribute ‘audio_fadein‘

一、前言

使用到了第三方库 moviepy 本地调试是OK的,
打包运行之后报错了
记录一下分析问题并找寻解决办法的过程

二、问题原因

moviepy下的子包使用的是一种动态加载模块的模式加载包下的模块的
pyinstaller对这种模式不能处理,所以需要我们手动处理一下,将其展开。

三、解决问题方法

1、修改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 pkgutilimport moviepy.video.fx as fx__all__ = [name for _, name, _ in pkgutil.iter_modules(fx.__path__) if name != "all"]# for name in __all__:
#     print("from  moviepy.video.fx import %s" % (name))from  moviepy.video.fx import accel_decel
from  moviepy.video.fx import blackwhite
from  moviepy.video.fx import blink
from  moviepy.video.fx import colorx
from  moviepy.video.fx import crop
from  moviepy.video.fx import even_size
from  moviepy.video.fx import fadein
from  moviepy.video.fx import fadeout
from  moviepy.video.fx import freeze
from  moviepy.video.fx import freeze_region
from  moviepy.video.fx import gamma_corr
from  moviepy.video.fx import headblur
from  moviepy.video.fx import invert_colors
from  moviepy.video.fx import loop
from  moviepy.video.fx import lum_contrast
from  moviepy.video.fx import make_loopable
from  moviepy.video.fx import margin
from  moviepy.video.fx import mask_and
from  moviepy.video.fx import mask_color
from  moviepy.video.fx import mask_or
from  moviepy.video.fx import mirror_x
from  moviepy.video.fx import mirror_y
from  moviepy.video.fx import painting
from  moviepy.video.fx import resize
from  moviepy.video.fx import rotate
from  moviepy.video.fx import scroll
from  moviepy.video.fx import speedx
from  moviepy.video.fx import supersample
from  moviepy.video.fx import time_mirror
from  moviepy.video.fx import time_symmetrize

2、修改moviepy\audio\fx\all_init_.py

修改内容如下:

"""
Loads all the fx !
Usage:
import moviepy.audio.fx.all as afx
audio_clip = afx.volume_x(some_clip, .5)
"""import pkgutilimport moviepy.audio.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))
from  moviepy.audio.fx import audio_fadein
from  moviepy.audio.fx import audio_fadeout
from  moviepy.audio.fx import audio_left_right
from  moviepy.audio.fx import audio_loop
from  moviepy.audio.fx import audio_normalize
from  moviepy.audio.fx import volumex

四、最终结果

打包成功!并且文件体积也没变多大。


打包,最好新建一个新的虚拟环境,然后再在新的虚拟环境安装pyinstaller,再在新的虚拟环境下打包,这样子就会小很多了。

Pyinstaller:moviepy打包报错AttributeError: module ‘moviepy.audio.fx.all‘ has no attribute ‘audio_fadein‘相关推荐

  1. tensorflow出现报错AttributeError: module ‘tensorflow.python.keras.backend‘ has no attribute ‘get_graph‘

    问题是tensorflow与keras版本不匹配. 查看对应版本重装即可 https://docs.floydhub.com/guides/environments/

  2. pyinstall :打包 .exe 文件报错AttributeError: module ‘enum‘ has no attribute ‘IntFlag‘

    有疑问的地方 参考博文 一.环境搭建 Python GUI图形化小工具编程学习-- PySide2 环境搭建(一) 二.实例演示 Python GUI图形化小工具编程学习-- Demo 实例演示(二) ...

  3. python 报错 AttributeError: module ‘time‘ has no attribute ‘clock 解决方法

    源码如下: #引入所需要的时间库 import datetime import time#程序计时器,启动计时器 start = time.clock()#中间是放置需要测试运行时间的程序代码#计算启 ...

  4. 第一:Python+Allure运行报错AttributeError: module ‘allure‘ has no attribute ‘severity_level‘

    1.很多查询结果都是先卸载pytest-allure-adaptor,然后再安装allure-pytest pip3 uninstall pytest-allure-adaptor 2.pip3 in ...

  5. python中引入包的时候报错AttributeError: module ‘sys‘ has no attribute ‘setdefaultencoding‘解决方法?

    python中引入包的时候报错AttributeError: module 'sys' has no attribute 'setdefaultencoding'解决方法? 参考文章: (1)pyth ...

  6. 【Flask】flask-bootstrap报错AttributeError: module ‘dominate.tags‘ has no attribute ‘input‘解决方法

    问题 在使用flask-bootstrap渲染表单时,报错AttributeError: module 'dominate.tags' has no attribute 'input'. 解决方法 修 ...

  7. python报错AttributeError module ‘scipy.misc‘ has no attribute ‘imresize‘和 ‘imread‘

    python报错AttributeError: module 'scipy.misc' has no attribute 'imresize'和 'imread' 报错原因:scipy版本过高 解决方 ...

  8. 学习python-mysql:报错AttributeError: module 'MySQLdb' has no attribute 'cursors'

    爬虫写入数据库时报错: AttributeError: module 'MySQLdb' has no attribute 'cursors' 解决方法: 引入 import MySQLdb.curs ...

  9. NVIDIA Jetson Xavier NX上导入tensorflow报错:AttributeError: module ‘wrapt‘ has no attribute ‘ObjectProxy‘

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 在Jetson Xavier NX上导入tensorflow报错:AttributeError: module 'wra ...

  10. Pickle库使用练习报错 AttributeError: module 'pickle' has no attribute 'dump'

    在这里插入代码片在练习使用pickle模块的时候写了如下的代码,但是出现了报错,代码和报错内容如下: 代码: import pickle dict1 = dict(name='八岐大蛇', age=1 ...

最新文章

  1. Python 网络爬虫笔记4 -- 信息标记与提取
  2. mysql该账户已存在_mysql 查看函数的所属用户和已存在的函数
  3. 产品经理专业知识50篇(五)-用户成长体系设计方案
  4. Springmvc接收json数据的4种方式
  5. div iframe html5,深入理解iframe
  6. 新增的output元素 progress元素 meter元素 keygen元素
  7. python正则_python中正则匹配
  8. 【Java】Java_03第一个Java程序
  9. Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
  10. 近期每日学习与工作时间安排
  11. 计算机人员保密承诺书,涉密网络人员保密承诺书
  12. 关于显卡的一些参数说明,告诉你如何分辨哪个好一点,哪个烂一点。
  13. Oracle数据库的游标与触发器
  14. r语言 断轴 画图_R语言作图——坐标轴截断画图
  15. 如何仅通过IP地址访问数据决策系统
  16. 手把手教你做一个新浪博客发布软件JAVA版本(5)--打开博客发布页面并解析博客内容
  17. linux启动失败故障分析修复
  18. Android Animation 360度旋转效果。
  19. 《一个APP的诞生》20191101
  20. Unity3d 鼠标的事件GetMouseButtonDown()、GetMouseButton()、GetMouseButtonUp()

热门文章

  1. 【云原生】理解k8s中的Pod和容器设计模式
  2. Elasticsearch Java虚拟机配置详解
  3. The name `AssetDatabase' does not exist in the current context
  4. 2019杭电多校第六场 HDU6638 Snowy Smile(线段树区间合并+枚举)
  5. 天使纪元392服务器维护,天使纪元公测什么时候能玩 天使纪元1月11日服务器什么时候能进...
  6. navicat如何粘贴多行数据
  7. 深度Linux声卡驱动安装,Deepin Linux 的声卡驱动有点小问题
  8. 100行代码实现HarmonyOS“画图”应用,eTS开发走起
  9. Quantile-Quantile (q-q) Plots
  10. Material Design 总结