原来PIL似乎存在高估字体高度的问题。我在 App Engine 上使用 PIL 时遇到了这个问题。查看有关此问题的更多信息此处
但是,我的本地计算机上的 PILLOW 没有这个问题。我可以解决这个问题,但理想情况下我会在应用程序引擎上使用 PILLOW 而不是 PIL。这可能吗?
不。 PIL 使用基于 C 的模块,PILLOW 也是如此。您只能部署具有基于 C 的库的第三方模块(如 numpy)中列出的受支持模块,请参阅 - https://developers.google.com/appengine/docs/python/tools/libraries27
如果您确实需要它,您可以使用托管虚拟机并设置您想要的库,包括基于 C 的 python 库,例如枕头。
这并不是一个简单的解决方案。它会影响扩展时间(根据谷歌的说法是毫秒到分钟)、成本(您为云计算引擎付费)和设置(您必须指定正确的 Docker 容器)。
但这是可以做到的。
如果您使用的是第二代 AppEngine Standard 运行时,您现在就可以了。 (第一代运行时将不允许您在 2024 年 1 月之后更新,因此您可能无论如何都想升级到第二代。)只需将
pillow
放入 requirements.txt