django-versatileimagefield 问题:部署到 Google App Engine Flex 时“找不到 python-magic-bin 的匹配发行版”

als*_*str 2 python django google-app-engine python-3.x

自从升级到 后django-versatileimagefield==2.0,我就无法让它与 Google App Engine 很好地配合。按原样使用它会出现其他人报告的错误:

ImportError: failed to find libmagic. Check your installation

我读过类似的问题,其中提到添加python-magic-bin==0.4.14要求。这似乎可以在本地解决问题。

但是,当我部署到 Google App Engine 时,尝试安装时会失败python-magic-bin

Could not find a version that satisfies the requirement python-magic-bin==0.4.14
No matching distribution found for python-magic-bin==0.4.14
Run Code Online (Sandbox Code Playgroud)

我正在使用带有 Python 3.7.2 的 App Engine 灵活环境。我尝试了多种不同的方法来安装所需的软件包,但就是无法让它工作。

Emi*_* Gi 7

尝试使用 python-magic - python-magic==0.4.15

更新:

根据libmagic-dev 软件包未预安装在 Flex 环境中,因此您需要切换到自定义运行时,如此处所述

之后,只需将 libmagic-dev 安装添加到 Dockerfile 即可:

运行 apt-get update && apt-get install -y libmagic-dev

  • 是的,实际上遇到了同样的错误。我现在拥有的最佳解决方案是切换到自定义运行时,如此处所述 https://cloud.google.com/appengine/docs/flexible/python/customizing-the-python-runtime 并使用 RUN apt 将 libmagic 安装添加到 Dockerfile -get update && apt-get install -y libmagic-dev`。似乎对我来说就是这样。 (2认同)