Heroku 中使用 OpenCV 的 Python Web 应用程序

2023-11-27

我正在构建一个在后端使用 OpenCV 的 Web 应用程序。我已经在 Ubuntu 上构建了该应用程序(我也在 Windows 上尝试过)并且运行良好。目前,我正在尝试配置 OpenCV 以在 Heroku 上工作。由于无法使用 pip 加载 OpenCV,因此我读到了有关使用 heroku buildpacks 的信息,它为服务器环境提供了定制。

以下是我测试两个 OpenCV 构建包的尝试:

  1. 我使用 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 的成功或失败。

  2. 然后我通过运行以下命令将 Heroku 配置为使用 (heroku multi buildpack):

    Heroku 构建包:设置https://github.com/ddollar/heroku-buildpack-multi

  3. 在 .buildpacks 文件(多构建包所需)中,我将https://github.com/heroku/heroku-buildpack-python and https://github.com/slobdell/heroku-buildpack-python-opencv-scipy构建包。

    第一个用于编译 python 应用程序并通过安装其他模块(例如 Flask)pip.第二个构建包是应该加载 OpenCV 的构建包。

毕竟,整个应用程序都不起作用!

I got (Application Error) page in Heroku as following screenshot: enter image description here

我尝试使用其他构建包(https://github.com/diogojc/heroku-buildpack-python-opencv-scipy)但我得到了相同的结果。

我的问题是:
我执行的步骤有什么问题吗?
我应该如何在heroku 的应用程序中调用(或使用)OpenCV?
我应该使用import语句或其他一些命令?


我可以通过执行以下操作来安装:

  1. cd /path/to/your/dir && git init

  2. heroku create MYAPP(白手起家)

  3. heroku config:add BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git --app MYAPP

  4. create .buildpacks如下:

    https://github.com/heroku/heroku-buildpack-python
    https://github.com/diogojc/heroku-buildpack-python-opencv-scipy#cedar14
    
  5. git add . && git commit -m 'MESSAGE' && git push heroku master

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Heroku 中使用 OpenCV 的 Python Web 应用程序 的相关文章

随机推荐

  • Xcode 6.01 存档验证错误:无效的段对齐

    我一直在做一个iOS项目仅在 Xcode 中 部署目标是 iOS 8 0 更新到 Xcode 6 x 后 在我的 iPhone 5s 和 iPhone 6 以及模拟器上构建和测试工作正常 但是 当我创建存档并想要验证它时 出现以下错误 由于
  • 如何删除 CSS 换行

    我正在尝试删除text decoration line through 样式应用于我的元素 但我似乎无法这样做 我努力了text decoration none 但它不起作用 当我申请时text decoration underline t
  • 什么是 crate 属性以及在哪里添加它?

    为了了解 Rust 的工作原理 我决定看一个基于终端的文本编辑器 名为Iota 我克隆了存储库并运行cargo build只能被告知 error if let syntax is experimental help add feature
  • 在日期字段中设置日期将其设置为前一天[重复]

    这个问题在这里已经有答案了 我正在使用日期输入类型来显示 获取 HTML 表单中的日期
  • Apache POI - 单元格 setCellValue 抛出 NullPointerException

    当我尝试更新现有 Excel 文件时 遇到以下错误 Exception in thread main java lang NullPointerException at xltest main xltest java 28 My code
  • TensorFlow:从多个检查点恢复变量

    我有以下情况 我有 2 个模型用 2 个单独的脚本编写 模型 A 由变量组成a1 a2 and a3 并且写成A py 模型 B 由变量组成b1 b2 and b3 并用 B py 编写 在每个A py and B py 我有一个tf tr
  • 多个纹理图像混合到 3D 地面上

    电脑游戏如何呈现自己的阵地 我将使用几何高度图 尽管我稍后会对其进行优化 但我想知道最好的技术是什么 例如 绘制 我的地面 到处都是草 到处都是土路 城镇里有砾石 每种材料之间的过渡也很平滑 我只使用巨大的预烘焙纹理吗 当我可以平铺现有纹理
  • 当前模态视图控制器

    我刚刚开始iPhone开发 我有一个选项卡式应用程序 我想以模式方式显示登录表单 所以我看了这里苹果开发者并在我的一个视图控制器中执行此操作 我将一个按钮连接到以下操作 import LoginForm h IBAction showLog
  • WxPython:PyInstaller 失败,没有名为 _core_ 的模块

    我正在使用 PyInstaller 将 wxpython 3 0 2 0 应用程序转换为二进制文件 这些二进制文件在 Ubuntu 12 04 上构建和执行时工作正常 但是 如果我在 Ubuntu 14 04 上构建 则会收到以下错误 当我
  • 如何使用大写列名的Rails?

    我有以下内容作为 AR 查询的一部分 having COUNT foo id gt bar maxUsers 这会产生一个错误 ActiveRecord StatementInvalid PG UndefinedColumn ERROR c
  • 为什么我的 php substr() 在剪切文本时显示模糊字符?

    我正在使用substr 函数限制字符串中的字符 但有时 输出文本包含一些晦涩的字符和问号等 substred 的文本已经是 UTF8 编码的 而不是在 html 实体中出现这样的问题 Thanks 因为你正在把你的角色切成两半 Use mb
  • 需要为 EmptyStacks 创建一个新的 RunTimeException

    所以我的任务可能听起来很简单 但它让我感到困惑 我已经浏览了互联网上的代码 但我无法掌握 我也不行 掌握老师发布的幻灯片 这就是对我的要求 创建一个名为 EmptyStackException 的新运行时异常类型 然而我不知道如何制作方法
  • 如何使用元对象协议向对象添加属性?

    我试图回答this问题 并认为我可以使用元对象协议向类添加属性 这是一个我尝试添加属性的最小示例test到班级Configuration施工后 use v6 class Configuration my config Configurati
  • 核心数据中的索引关系

    我刚刚开始在 iPhone SDK 上使用 Core Data 并且正在考虑保存有序列表 例如数组 然而 核心数据中的关系在检索时表示为集合 这使得保存对象的放置顺序变得困难 一个很好的例子是允许对项目进行重新排序时表视图中的数据项目 一个
  • JSF生成的HTML元素ID是变化的,如何将其设置为固定的元素ID?

    我有一个 JSF 输入文本组件 其 id 为search 在生成的 HTML 输出中 它看起来像这样j idt17 search 但是数量17正在不时发生变化 怎样才能让它保持一成不变呢 给生成 HTML 元素的 JSF 组件id j id
  • install_name_tool -change 和 -id 之间的区别

    我已经在这个概念上苦苦挣扎了一段时间 我无法真正理解两者之间的区别 change and id 手册页指出 id name Changes the shared library identification name of a dynami
  • 滚动我自己的@Html.BeginfOrm()

    我正在编写一个自定义验证集 它将显示 div 上所有缺失的元素 我希望能够使用自定义 Html BeginForm 方法将写出该 div 但我真的不知道从哪里开始 因为这个坚果比写出标签或字符串的 html 扩展更难破解 表单封装了数据 控
  • 差异算法

    有人可以推荐一些关于 XML 的基于树的 diff 算法的论文 文献 或代码片段 基于 DOM 树 非常感谢 这是一篇关于相同内容的有用论文 http pdf aminer org 000 301 327 x diff an effecti
  • 将 props 传递给 Material UI 样式

    鉴于Card代码如here 如何更新卡片样式或任何材质 UI 样式 const styles theme gt card minWidth 275 对此如下 const styles theme gt card minWidth 275 b
  • Heroku 中使用 OpenCV 的 Python Web 应用程序

    我正在构建一个在后端使用 OpenCV 的 Web 应用程序 我已经在 Ubuntu 上构建了该应用程序 我也在 Windows 上尝试过 并且运行良好 目前 我正在尝试配置 OpenCV 以在 Heroku 上工作 由于无法使用 pip