首页 > 解决方案 > 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

谢谢大家回答我!

标签: pythonpyinstallereel

解决方案


您是否尝试将moviepy明确添加到路径中?

pyinstaller -y -D --name Whatever --clean --distpath="." -p "c:\Python37\Lib\site-packages\moviepy" yourpyfile.pyw

推荐阅读