gpt4 book ai didi

python - ImageMagick可以用python程序打包吗?怎么做?

转载 作者:行者123 更新时间:2023-12-01 00:30:41 57 4
gpt4 key购买 nike

我在 opencv、Pillow、ImageMagick、subprocess 和 ffmpeg 之间摇摆,作为操作图形数据的一种方式。 ImageMagick 看起来不错而且功能相当强大,但我在 Win 7 上的安装已经无法运行某些命令,因为“此图像格式没有解码委托(delegate)”——由于未正确安装、未安装最新版本或未安装而导致的错误即使在阅读完之后,它可能通过某种方式具有各种其他依赖关系,但仍然不清楚。

因此,在我的计算机上有一个主要的工作版本时,我想知道是否值得花时间和精力使用名为 using subprocess 的 ImageMagick 命令在 python 中创建图形应用程序?如果我制作这样的应用程序,当我制作 1 个文件可执行文件以供分发或销售时,我可以在其中包含 ImageMagick 吗?如果是这样我该怎么办? py2exe 或 pyinstaller 是否允许您包含 ImageMagick(以及 ffmpeg)?

最佳答案

简短的回答是否定的。

理想情况下,您将提供一个带有设置脚本的 Python 包,该脚本将检查用户系统是否有所需的依赖项,或者至少记录最终用户如何安装依赖项、在哪里找到它们以及为什么应该这样做这样。

If I make such an application can I include ImageMagick in it when I go to make a 1 file executable for distribution or sale?

大多数依赖项都是库(共享或静态),因此至少您的“1 个可执行文件”需要链接到您将与 Python 代码一起分发的其他文件。这也将使您成为混合软件许可证的分销商,并且您需要相应地阅读并遵守每个依赖库。

Do py2exe or pyinstaller enable you to include ImageMagick (and ffmpeg for that matter)?

它们将包含用于分发的相应 DLL 文件,但不包含 ImageMagick 使用的委托(delegate)。我认为 ImageMagick 有一个“可移植”版本,它是用静态库和通用委托(delegate)(包括 ffmpeg)编译的。正在关注Providing the Microsoft Visual C runtime DLL举个例子。我猜设置会是这样的:

from glob import glob
data_files = [("ImageMagick.CRT", glob(r'C:\path\to\ImageMagick-7.0.8-67-portable-Q16-x86\*.*'))]
setup(
data_files=data_files,
)

并使用子进程调用“ImageMagick.CRT”分发目录中的magick.exe

[...] I'm wondering if its worth the time and trouble to create a graphics application in python [...]

这一切都取决于您想要实现的目标。 OpenCV 和 Pillow 可以在您的应用程序 setup.py 中列为依赖项,Python/Pip 安装程序将处理它。然而,ImageMagick 和 FFMPEG 更多的是具有自己的定制和扩展级别的平台(如果不是生态系统)。

关于python - ImageMagick可以用python程序打包吗?怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58200463/

57 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com