在已部署的 Flask 应用程序 (Heroku) 上使用 OpenCV

Posted

技术标签:

【中文标题】在已部署的 Flask 应用程序 (Heroku) 上使用 OpenCV【英文标题】:Use OpenCV on deployed Flask app (Heroku) 【发布时间】:2019-04-06 04:47:00 【问题描述】:

您好,我似乎无法在 Heroku 上部署的烧瓶应用程序中导入 opencv!

我参考过类似的帖子,例如 this “ImportError:libSM.so.6:无法打开共享对象文件:没有这样的文件或目录”,但似乎无法弄清楚 Windows 上的下一步。

这是我到目前为止所做的: 1. 前往 Heroku -> App -> Settings -> Buildpacks -> 添加 Python buildpack 2. 在我的目录中添加了一个 Aptfile.txt,每行包含以下包(在某处阅读此内容,不确定是否有意义)

libsm6、libxrender1、libfontconfig1、libice6

注意事项:

我的openCV版本--opencv-python==3.4.3.18 我在 Windows 上,所以其他帖子答案中推荐的 sudo 命令不起作用

提前致谢!

【问题讨论】:

【参考方案1】:

使用 opencv-python-headless 它不依赖于 libSM6。

pip install opencv-python-headless

【讨论】:

【参考方案2】:

将此行放入requirments.txt

opencv-python-headless==4.2.0.32

【讨论】:

以上是关于在已部署的 Flask 应用程序 (Heroku) 上使用 OpenCV的主要内容,如果未能解决你的问题,请参考以下文章

text 如何在已部署的Heroku应用程序中查看文件

使用 Heroku 部署 Flask

在 Heroku 上部署 Flask Websockets 应用程序时遇到问题

由于 Error=H10,Flask App 在通过 Heroku 部署时导致应用程序错误

无法在 Heroku 上部署 Flask 应用程序 [致命错误:mpfr.h:没有这样的文件或目录]

Heroku 部署混乱:Vue.js 前端与 Flask 后端