【发布时间】:2015-09-25 02:00:52
【问题描述】:
我正在构建一个在后端使用 OpenCV 的 Web 应用程序。我已经在 Ubuntu 上构建了应用程序(我也在 Windows 上尝试过),它运行良好。目前,我正在尝试将 OpenCV 配置为在 Heroku 上工作。由于无法使用 pip 加载 OpenCV,因此我阅读了有关使用 heroku buildpacks 为服务器环境提供自定义的信息。
以下是我测试两个 OpenCV 构建包的尝试:
-
我用 Flask 构建了一个简单的 Web 服务器,尝试导入 OpenCV:
#hello.py import os from flask import Flask app = Flask(__name__) @app.route("/") def hello(): text = '' try: import cv2 text = 'success' except: text = 'fail' pass return text + ' to load openCV' if __name__ == "__main__": port = int(os.environ.get("PORT", 5000)) app.run(host='0.0.0.0', port=port)上述代码在加载 OpenCV 时应返回成功或失败。
-
然后我通过运行以下命令将 Heroku 配置为使用 (heroku multi buildpack):
heroku buildpacks:set https://github.com/ddollar/heroku-buildpack-multi
-
在 .buildpacks 文件(多 buildpack 需要)中,我放置了 https://github.com/heroku/heroku-buildpack-python 和 https://github.com/slobdell/heroku-buildpack-python-opencv-scipy buildpacks。
第一个用于编译 python 应用程序并通过
pip.安装其他模块(例如,Flask)第二个 buildpack 是应该加载 OpenCV 的。
毕竟整个应用程序都没有工作!
我在 Heroku 中得到(应用程序错误)页面,如下截图:
我尝试使用其他 buildpack (https://github.com/diogojc/heroku-buildpack-python-opencv-scipy),但得到了相同的结果。
我的问题是:
我做的步骤有什么问题?
我应该如何在 heroku 中的应用程序中调用(或使用)OpenCV?
我应该使用 import 语句还是其他一些命令?
【问题讨论】:
-
你能详细说明
After all, the whole application did not work ! I tried to use other buildpack ?你能说明它是如何不工作的吗? How to Ask -
感谢您的评论。我已经编辑了添加屏幕截图的问题。
-
你没有检查你的日志吗?
-
@azri.dev 你最终让它工作了吗? buildpack-multi 现在似乎已被弃用。我试过这个解决方案。我的应用程序没有崩溃,但无法加载 opencv。有什么想法吗?