You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarto文档中Shinylive环境导入OpenCV失败的问题求助

在Quarto Shinylive环境中安装并使用OpenCV(cv2)

核心解决思路

Pyodide的包安装操作(loadPackage/micropip.install)都是异步的,await关键字只能在异步函数内部使用,不能直接写在全局代码里。把安装逻辑包进异步函数,再用asyncio.run()触发执行就能解决问题。

可运行代码示例

import asyncio
from pyodide import loadPackage
import micropip

async def setup_opencv():
    # 二选一:用pyodide的loadPackage安装
    await loadPackage("opencv-python")
    # 或者用micropip安装
    # await micropip.install("opencv-python")
    
    # 安装完成后导入cv2,声明为全局变量方便后续调用
    global cv2
    import cv2

# 执行异步安装流程
asyncio.run(setup_opencv())

# 现在可以正常使用cv2处理图片了
# 示例:加载本地图片(替换为你的图片路径)
# img = cv2.imread("test_image.jpg")
# 如果是网络图片,可先通过pyodide.http.fetch获取

注意事项

  • 安装完成后要在异步函数内部导入cv2,或者声明为全局变量,否则后续代码无法访问该模块。
  • 两种安装方式效果一致,任选其一即可,Pyodide对opencv-python的支持完善,能满足图片加载等基础需求。

内容的提问来源于stack exchange,提问作者Aarón Tovar Sáez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:52:07