Emojis在带有枕头的Heroku上渲染效果不佳,但它们在本地进行

时间:2017-07-28 10:52:37

标签: django heroku pillow

我在Django 1.10应用程序中使用Pillow 4.2在图像上插入一些包含unicode emojis的文本。由于向后兼容性原因,整个过程在Python 2.7上运行。

在本地,它就像一个魅力。顺便说一下,我使用OpenSansEmojis.tff作为字体。

当我在Heroku上推送我的代码时,表情符号字符没有正确显示,我得到了“方形”字符(▯)。也就是说,'é','è','ç'等重音字符都能正确显示。

我应该补充说,该功能由Celery 4. * worker(Heroku上的单独dyno)运行。

我已经尝试了

我尝试设置PYTHONIOENCODING,但没有帮助。

我尝试使用the trick mentioned here但它也没有帮助。

1 个答案:

答案 0 :(得分:0)

好的,所以有点难以弄清楚,但我认为Heroku正在运行narrow build的Python,而我正在运行一个"宽的"建立在我的笔记本电脑上。

这解释了为什么表情符号字符在本地正确显示,但即​​使安装了完全相同的代码和依赖项,也无法生成。

为了迫使Heroku使用"宽"我使用Conda buildpack而不是python应用程序的默认buildpack。 Conda似乎运行了广泛的构建,无论如何我需要它,因为Pillow / PIL无法使用默认的buildpack正确安装。