我正在尝试在 Heroku 上安装 OpenCV,以便我的 Python Web 应用程序可以使用 OpenCV。我该怎么做呢?
谢谢!
它适用于可能面临同样问题的谷歌同事。只需将opencv-python
您的requirements.txt更改为opencv-python-headless
.
opencv-python-headless 是一个没有 gpu 支持的 opencv 构建。给出错误的文件 libsm.so(PS 不记得正确的名称)用于 GPU 支持。
以供参考 :
friism 发布的链接对我不起作用,因此我创建了一个自定义构建包,对于您描述的情况应该绰绰有余。
您可以在此处找到 buildpack 。
这个问题也出现在 Heroku 论坛上。看起来您可以查看几个构建包:
以下步骤应该可以解决您面临的 openCV 问题 -
libsm6
libxrender1
libfontconfig1
libice6
现在构建和部署,你准备好了!
看起来我迟到了这个线程,但这是我的解决方案对我有用。我需要演示这个使用 OpenCV 和 Django DRF 的 API。
我尝试了所有包括添加.buildpacks和Aptfiles的解决方案,但没有一个对我有用。
我最终删除了该.buildpacks
文件Aptfile
并添加opencv-python-headless
到 requirements.txt 文件中作为替换opencv-python
这样做就可以让 API 在 python-3.8.0 运行时上运行。libgl1和此类依赖项适用于opencv-python
. 所以你可以逃脱opencv-python-headless
or opencv-contrib-python-headless
。您唯一需要的 buildpack 就是heroku/python
buildpack。
有关更多详细信息,请在此处查看选项 3 和 4 !
如果您想查看它,我有一个相同的GitHub 存储库!
注意:您不能使用cv2.imshow()
无头等方法。无论如何,你不会有任何意义,而只是一个警告。