我想将脚本转换为.exe,并已尝试使用pyinstaller。
问题是未导入moviepy。
我将moviepy导入为import moviepy.editor as me
(在script.py中)。
所以我尝试了隐藏的导入。
该命令是:pyinstaller --onefile --hidden-import=moviepy script.py
输出:
3601 INFO: Analyzing hidden import 'moviepy'
3601 ERROR: Hidden import 'moviepy' not found
有人可以帮我吗?谢谢:)
答案 0 :(得分:0)
hidden-imports
将仅添加模块本身,而不添加其依赖项。似乎PyInstaller无法自动处理moviepy
,并且它缺少诸如imageio-ffmpeg
之类的依赖项,因此您可以使用Tree
类并添加moviepy
和{{1 }}转换为最终可执行文件。
您的规范文件应如下所示:(记住要根据您的Python目录编辑模块路径)
imageio-ffmpeg
最后,使用以下命令生成可执行文件:
# -*- mode: python -*-
block_cipher = None
a = Analysis(
...
)
a.datas += Tree("./env/Lib/site-packages/moviepy", prefix='moviepy')
a.datas += Tree("./env/Lib/site-packages/imageio_ffmpeg/", prefix='imageio_ffmpeg')
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
...