Pyinstaller-如何隐藏导入moviepy?

时间:2019-04-02 19:46:21

标签: python python-3.x exe pyinstaller moviepy

我想将脚本转换为.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

有人可以帮我吗?谢谢:)

1 个答案:

答案 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)
...