我有一个需要moviepy的脚本,我想把它作为可执行文件,但这似乎不起作用,有人知道是否有解决办法吗?
from moviepy.editor import *
控制台:
./run
Traceback (most recent call last):
File "run.py", line 21, in <module>
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
File "moviepy/editor.py", line 87, in <module>
File "<string>", line 1, in <module>
AttributeError: module 'moviepy.audio.fx.all' has no attribute 'audio_fadein'
[75721] Failed to execute script 'run' due to unhandled exception!
更新
如果我注释掉库VideoFileClip
,它是有效的,但我需要这个模块。。。
我已经找到了一个可能的解决方案,但我不想编辑库
https://github.com/Zulko/moviepy/issues/591
有人给我小费吗?我还能做什么?
有效
解决方案来自
https://github.com/Zulko/moviepy/issues/591#issuecomment-965203931
我只导入了所需的模块,在我的情况下是
from moviepy.video.io.VideoFileClip import VideoFileClip
-
首先使用venv创建一个虚拟环境。
-
然后创建一个需求文件,如果您还没有这样做的话。
pip冻结>requirements.txt
-
在创建可执行文件时,请在pyinstaller中使用此需求文件。
path\to\pyinstaller.exe--onefile--paths\venv_location\file.py
-
您可以通过PyInstaller文档了解更多详细信息。