当前位置: 首页 > news >正文

在 orin 上 安装了 miniconda 如何使用 orin 内置的 opencv

在 Jetson Orin 中,系统预装的 OpenCV 通常位于系统默认的 Python 环境路径中(如 /usr/lib/python3.x/dist-packages),而 Miniconda 环境默认会优先使用自身环境内的库,因此直接在 Miniconda 环境中导入 cv2 可能会失败(提示找不到模块)。
要在 Miniconda 环境中使用系统预装的 OpenCV(带 CUDA 加速的优化版本),核心是让 Miniconda 的 Python 解释器能识别到系统 OpenCV 的安装路径。具体步骤如下:

步骤 1:确认系统 OpenCV 的 Python 路径

首先,在系统默认 Python 环境(非 Miniconda 环境)中,找到 OpenCV 的安装位置:
打开终端(未激活 Miniconda 环境时),运行:
bash
python3 -c "import cv2; print(cv2.__file__)"
输出通常类似:
/usr/lib/python3.8/dist-packages/cv2/python-3.8/cv2.cpython-38-arm-linux-gnueabihf.so
(路径中的 python3.8 可能随系统默认 Python 版本变化,比如 python3.9
核心路径是其父目录,即系统 OpenCV 的 Python 包根目录,例如:
/usr/lib/python3.8/dist-packages/cv2

步骤 2:确保 Miniconda 环境的 Python 版本与系统一致

系统预装的 OpenCV 是针对系统默认 Python 版本编译的(如 Python 3.8)。如果 Miniconda 环境的 Python 版本与系统不一致(比如系统是 3.8,conda 环境是 3.9),可能会因版本不兼容导致无法导入。
建议创建与系统 Python 版本一致的 Miniconda 环境,例如系统是 Python 3.8,则:
bash
conda create -n your_env python=3.8  # 创建名为 your_env 的环境,指定 Python 3.8
conda activate your_env  # 激活环境

步骤 3:移除 Miniconda 环境中可能冲突的 OpenCV 包

如果你的 Miniconda 环境中之前通过 pipconda 安装过 opencv-python 等包,会与系统 OpenCV 冲突,需先卸载:
bash
# 激活 Miniconda 环境后运行
pip uninstall opencv-python opencv-contrib-python  # 卸载 pip 安装的
conda remove opencv  # 若用 conda 安装过,也卸载

步骤 4:让 Miniconda 环境识别系统 OpenCV

通过软链接添加路径的方式,让 Miniconda 环境的 Python 能找到系统 OpenCV。
方法 1:创建软链接(推荐)
将系统 OpenCV 的 Python 包目录链接到 Miniconda 环境的 site-packages 中(这样 Python 会自动识别)。
  1. 先找到 Miniconda 环境的 site-packages 路径:
    激活环境后运行:
    bash
    python -c "import site; print(site.getsitepackages()[0])"
    
    输出类似:
    /home/your_username/miniconda3/envs/your_env/lib/python3.8/site-packages
  2. 为系统 OpenCV 创建软链接到上述路径:
    假设系统 OpenCV 路径为 /usr/lib/python3.8/dist-packages/cv2,运行:
    bash
    ln -s /usr/lib/python3.8/dist-packages/cv2 /home/your_username/miniconda3/envs/your_env/lib/python3.8/site-packages/cv2
    
方法 2:修改 PYTHONPATH 环境变量
临时或永久将系统 OpenCV 路径添加到 Miniconda 环境的 Python 搜索路径中。
  1. 临时生效(仅当前终端):
    激活环境后运行:
    bash
    export PYTHONPATH="/usr/lib/python3.8/dist-packages:$PYTHONPATH"
    
  2. 永久生效(每次激活环境自动加载):
    在 Miniconda 环境的激活脚本中添加上述命令:
    bash
    # 进入环境的激活脚本目录
    mkdir -p ~/miniconda3/envs/your_env/etc/conda/activate.d/
    # 创建环境变量配置文件
    nano ~/miniconda3/envs/your_env/etc/conda/activate.d/env_vars.sh
    
    在文件中写入:
    bash
    export PYTHONPATH="/usr/lib/python3.8/dist-packages:$PYTHONPATH"
    
    保存后,下次激活环境时会自动生效。

步骤 5:验证是否成功

激活 Miniconda 环境,运行 Python 并测试:
bash
conda activate your_env
python -c "import cv2; print('OpenCV 版本:', cv2.__version__); print('CUDA 支持:', cv2.cuda.getCudaEnabledDeviceCount() > 0)"
  • 若输出版本号,且 CUDA 支持True,说明成功使用系统预装的带 CUDA 加速的 OpenCV。

注意事项

  • 系统 OpenCV 依赖 Jetson 预装的 CUDA、cuDNN 等库,Miniconda 环境无需重复安装这些库(直接使用系统的即可)。
  • 若后续系统更新导致 OpenCV 路径变化,可能需要重新执行上述链接或路径配置步骤。
http://www.dtcms.com/a/482853.html

相关文章:

  • keil工具详细入门教学
  • 招聘网站开发方案doc蒸丞文化传媒有限公司网页设计
  • Linux中NUMA节点初始化内存相关参数的实现
  • [Backstage] 后端服务 | 示例插件
  • 黑马商城day2-Docker
  • 赤水市住房和城乡建设局网站网站建设费专票会计分录
  • 前端页面权限管控-高阶组件
  • 什么是脚本语言?
  • AI智能体
  • 企业准备扩大规模时,如何选择第三方物流(3PL)合作伙伴
  • 阮一峰《TypeScript 教程》学习笔记——简介
  • Scope作用域
  • 网页设计网站名字上海企业电话查询
  • 论文阅读-IDFUZZ: Intelligent Directed Grey-box Fuzzing
  • [论文阅读]Progent: Programmable Privilege Control for LLM Agents
  • 内蒙古建设厅官网站自建本地网站服务器wordpress
  • 【愚公系列】《人工智能70年》078-AI塑造新人生(教育史上的“一场数字海啸“)
  • 数据分析-基础-二项分布
  • idea正则匹配搜索
  • Lombok @Data 注解在 Spring Boot 项目中的深度应用与实践指南
  • 电力电子技术 第一章——电力电子变换器
  • Spring Boot 项目启动报错:`Could not resolve type id ... no such class found` 终极解决方案!
  • 八方资源网做网站优化怎么样网络营销的主要传播渠道是
  • 基于python写的PDF表格提取到excel文档
  • 做贷款网站犯法吗wordpress 静态文件大
  • AWS CloudTrail:让每一次操作都“有迹可循”
  • 运动控制教学——5分钟了解雅可比矩阵!
  • BERT 中文外卖评价情感分析项目
  • [MySQL] 数据库的约束与设计
  • 用dw做的网页如何上传到网站wordpress安装后要删除哪些文件夹