python - 在多个系统上使用 PIL

标签 python python-imaging-library

针对以下情况寻求一些建议和最佳实践指南。我有一个从源代码运行的 python 应用程序,并且包含所有依赖项。使用 PIL 时会出现一些问题。不同的Python版本需要不同的PIL源,64位和32位需要不同的版本。

我们决定支持:

Python 2.4 64 位

Python 2.4 32 位

Python 2.7 64 位

Python 2.7 32 位

我必须找到必要的源代码包并将它们全部包含在内。问题是导入它们的最佳方式是什么?我是否检查 python 版本和操作系统版本并根据该版本导入不同的 PIL 版本(您可以导入其他内容吗?)或者我可以导入一次吗?

希望一切都有意义。谢谢

最佳答案

我将采取与 @alan 的答案相反的方向,并且不建议您像这样分发 4 个硬编码环境。

如果您直接分发源代码,那么您根本不应该包含预构建的依赖项。创建某种 setup.py下载并安装依赖项。或者考虑将您的应用程序打包成独立的可执行文件

您的包可能包含本地 PIL 的安装文件,因此不需要下载,但它们应该由实际的最终用户构建以匹配其架构。尝试让您的应用程序弄清楚所有这些并指向许多预编译包之一是没有意义的。

如果您想为包含整个环境的不同系统创建自可执行包,您还可以查看 py2exe、py2app 和 pyinstaller。

关于python - 在多个系统上使用 PIL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9983743/

相关文章:

python-imaging-library - pip install PIL 未安装到 virtualenv 中

python - PIL 旋转图像颜色 (BGR -> RGB)

python - Pandas 数据框 : How to print single row horizontally?

python - 如何使用python cx_Freeze在程序卸载列表中显示图标?

Python 和线程 - 如果运行多个进程,线程会慢慢消亡

python - 替代 numpy roll 而不复制数组

python - 如何比使用两个for循环更快地对图像的每个像素执行操作?

python - 在数据框中添加依赖于现有列的列的通用公式

python - 在 Python 中检索 .dpx 文件的分辨率

python - 使用 PIL 对图像进行矢量化 reshape 和裁剪