【问题标题】:Emojis do not render well on Heroku with Pillow but they do locally表情符号在 Heroku 上的 Pillow 渲染效果不佳,但它们在本地渲染
【发布时间】:2018-01-04 09:52:12
【问题描述】:

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

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

但是,当我在 Heroku 上推送我的代码时,表情符号字符无法正确显示,我得到的是“方形”字符 (▯)。也就是说,“é”、“è”、“ç”等重音字符都可以正确显示。

我应该补充一点,该功能由 Celery 4.* 工作人员(Heroku 上的单独测功机)运行。

我已经尝试过的

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

我尝试使用the trick mentioned here,但也没有用。

【问题讨论】:

    标签: django heroku pillow


    【解决方案1】:

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

    这解释了为什么 emoji 字符可以在本地正确显示,但即​​使安装了完全相同的代码和依赖项,也会在生产中失败。

    为了强制 Heroku 使用“宽”构建,我使用 Conda buildpack 而不是 python 应用程序的默认 buildpack。 Conda 似乎运行了一个广泛的构建,我仍然需要它,因为 Pillow/PIL 无法使用默认构建包正确安装。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-30
      • 1970-01-01
      • 2013-06-25
      • 2014-07-27
      • 2018-04-17
      • 2019-07-06
      • 2018-02-22
      • 1970-01-01
      相关资源
      最近更新 更多