python - Python EEL 和 PyInstaller 问题
问题描述
我最近使用 eel 创建了一个程序,在这个程序中我使用模块moviepy来分割文件的音频和视频。
但是当我尝试使用 PyInstaller 将整个项目放入 .exe 文件时,该应用程序将无法运行。我使用的命令是:python -m eel main.py web
我尝试在没有moviepy的情况下编译程序(我只是从main.py中删除了导入)并且它完美地工作。
所以问题显然是不是从 PyInstaller 导入的moviepy。现在我问是否有任何方法可以使用 PyInstaller 添加moviepy依赖项?
PS:启动源文件完美运行,它只有在使用 PyInstaller 编译后才启动
编辑:
当我用 cmd 启动编译的 .exe 文件时,它给了我这个错误:
Traceback (most recent call last):
File "main.py", line 4, in <module>
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "C:\Users\Lucad\AppData\Local\Programs\Python\Python37\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\moviepy\editor.py", line 84, in <module>
File "<string>", line 1, in <module>
AttributeError: module 'moviepy.audio.fx.all' has no attribute 'audio_fadein'
[8740] Failed to execute script main
编辑2:找到解决方案!
我读了一个帖子,人们说moviepy在导入一些模块时出错,所以我所要做的就是修改一个文件。
这是我遵循的指南的链接:https ://github.com/Zulko/moviepy/issues/591
谢谢大家回答我!
解决方案
您是否尝试将moviepy明确添加到路径中?
pyinstaller -y -D --name Whatever --clean --distpath="." -p "c:\Python37\Lib\site-packages\moviepy" yourpyfile.pyw
推荐阅读
- python - 为什么 SQLAlchemy 只安装在我的 Python 2.7 库中?
- java - Java:如何在不覆盖 main 的情况下在类中创建无限循环
- java - 如何在 Java 中复制 midi 序列?
- php - PHP Timer - 函数在函数内正确评估,但从页面调用时不正确
- git - 超过 2 个团队的 Git 流程
- python - Sage 中调用 list() 中的 AttributeError
- c++ - QJsonObject 返回 null
- sql-server - 如何使用 Navicat 连接到 SQL Server
- bash - 无限次使用 bash 参数?
- visual-c++ - 如何正确使用类对象