树莓派4B--OpenCV安装踩坑
报错: Source directory:
/tmp/pip-install-pv7l9r25/opencv-python_08fdf5a130a5429f89b0e0eaab39a329
Working directory:
/tmp/pip-install-pv7l9r25/opencv-python_08fdf5a130a5429f89b0e0eaab39a329/_skbuild/linux-armv7l-3.7/cmake-build
Please check the install target is valid and see CMake’s output for more information.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for opencv-python
Building wheel for numpy (pyproject.toml) … done
Created wheel for numpy: filename=numpy-1.21.6-cp37-cp37m-linux_armv7l.whl size=12328869 sha256=06306d2e6b05960a90fc2edb7ae20f8ccc5700000888fa38fb2009aab18d2c1a
Stored in directory: /home/pi/.cache/pip/wheels/4e/7e/9e/0fde042ccff2493994076dac9c3fbd78feb444c3bd94eb386a
Successfully built numpy
Failed to build opencv-python
ERROR: Could not build wheels for opencv-python, which is required to install pyproject.toml-based projects
在树莓派 4 上安装 OpenCV 时经常遇到由于依赖关系不足、编译选项不兼容或者系统资源不足引起的问题。以下是一些可能的解决方法:
方法 1:检查依赖项!!!!!!!!
确保所有必要的依赖项已经安装。运行以下命令安装 OpenCV 的常见依赖项:
sudo apt update && sudo apt upgrade
sudo apt install -y build-essential cmake git pkg-config libjpeg-dev libtiff-dev libpng-dev \libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev \libgtk-3-dev libatlas-base-dev gfortran python3-dev
方法 2:增加交换空间
编译 OpenCV 可能需要较多的内存,而树莓派的 RAM 可能不足。尝试增加交换空间:
-
编辑交换空间配置文件:
sudo nano /etc/dphys-swapfile -
将以下行的值增大,例如:
CONF_SWAPSIZE=2048 -
保存文件后,重新启动交换服务:
sudo systemctl restart dphys-swapfile
方法 3:使用 pip 安装预编译版本
默认情况下,opencv-python 使用了 pyproject.toml 构建工具,这可能导致不兼容问题。尝试通过 pip 安装特定版本的预编译包:
pip install opencv-python==4.5.3.56 opencv-contrib-python==4.5.3.56
方法 4:从源码编译 OpenCV
如果以上方法无效,可以手动从源码编译 OpenCV,这种方法兼容性最好但耗时较长。
-
克隆 OpenCV 仓库:
git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git cd opencv git checkout 4.x cd ../opencv_contrib git checkout 4.x -
创建构建目录并编译:
cd ../opencv mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local \-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \-D ENABLE_NEON=ON -D ENABLE_VFPV3=ON \-D WITH_TBB=ON -D BUILD_TBB=ON -D WITH_GTK=ON \-D BUILD_opencv_python3=ON -D PYTHON3_EXECUTABLE=$(which python3) .. make -j$(nproc) sudo make install
方法 5:检查系统 Python 和 pip 版本
确保使用的 pip 和 python 与树莓派的架构匹配:
python3 --version
pip3 --version
如果 Python 和 pip 版本过旧,尝试更新:
sudo apt install python3-pip
pip3 install --upgrade pip setuptools wheel
相关文章:
树莓派4B--OpenCV安装踩坑
报错: Source directory: /tmp/pip-install-pv7l9r25/opencv-python_08fdf5a130a5429f89b0e0eaab39a329 Working directory: /tmp/pip-install-pv7l9r25/opencv-python_08fdf5a130a5429f89b0e0eaab39a329/_skbuild/linux-armv7l-3.7/cmake-build Please check the i…...
电子电气架构 --- 面向服务的汽车诊断架构
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。…...
Pytest --capture 参数详解:如何控制测试执行过程中的输出行为
--capture 选项用于控制测试用例执行过程中标准输出(stdout)和标准错误输出(stderr)的捕获行为。 --capture 的选项值: fd(默认) 捕获文件描述符级别的输出(stdout 和 stderr&#x…...
IS-IS的原理
IS-IS的基本概念: 概述: IS-IS,中间系统到中间系统,是ISO国际标准化组织为它的无连接网络协议设计的一种动态路由协议 IS-IS支持CLNP网络和IP网络,采用数据链路层封装,区别于ospf只支持IP网络࿰…...
C++(4个类型转换)
1. C语言中的类型转换 1. 隐式 类型转换: 具有相近的类型才能进行互相转换,如:int,char,double都表示数值。 2. 强制类型转换:能隐式类型转换就能强制类型转换,隐式类型之间的转换类型强相关,强制类型转换…...
Ubuntu20.04安装NVIDIA显卡驱动
Ubuntu20.04安装NVIDIA显卡驱动 参考资料:https://blog.csdn.net/weixin_39244242/article/details/136282614?fromshareblogdetail&sharetypeblogdetail&sharerId136282614&sharereferPC&sharesourceqq_37397652&sharefromfrom_link 成功配置…...
速盾:介绍一下高防cdn的缓存响应事什么功能?
高防CDN(Content Delivery Network)是一种基于分布式缓存技术的网络加速服务,能够提供强大的缓存响应功能。它的缓存响应功能主要包括缓存加速和智能缓存两个方面。 首先,高防CDN的缓存加速功能是指通过在全球范围内部署大量的缓…...
Nuclei-快速漏洞扫描器
Nuclei-快速漏洞扫描器 声明 学习内容来自 B 站UP主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 ✍Ἷ…...
linux网络抓包工具
linux网络抓包工具 一、tcpdump1.1 基本用法1.2 龙芯平台实例操作 二、wireshark2.1 主要功能2.2 龙芯平台实例操作 一、tcpdump tcpdump 指令可列出经过指定网络界面的数据包文件头,可以将网络中传送的数据包的 “头” 完全截获下来提供分析。它支持针对网络层、协…...
详解桥接模式
引言 在开发过程中,可能会遇到系统设计有多种维度变化的情况,比如我们想画一幅五彩斑斓的画,需要用到12个颜色,但是需要粗细不同的线条(粗、中、细),如果用蜡笔,就需要粗中细三种蜡笔…...
探索AI新世界!热门工具与学习资源免费获取
抖知书老师推荐: 人工智能技术的迅速发展让人们既充满期待又有些迷茫。有人担忧被AI技术取代,有人却积极拥抱这场科技浪潮。无论你处于哪种心态,人工智能已经深入到我们生活的方方面面。如果你希望轻松掌握最新的AI工具与动态,…...
vue3项目搭建-6-axios 基础配置
axios 基础配置 安装 axios npm install axios 创建 axios 实例,配置基地址,配置拦截器,目录:utils/http.js 基地址:在每次访问时,自动作为相对路径的根 // axios 基础封装 import axios from "axios";…...
Django 视图层
from django.shortcuts import render, HttpResponse, redirectfrom django.http import JsonResponse1. render: 渲染模板 def index(request):print(reverse(index))return render(request, "index.html")return render(request, index.html, context{name: lisi})…...
代理IP与百度在信息时代的交互
目录 一、代理IP的基本概念和工作原理 二、代理IP在百度搜索中的多重作用 解决网络延时问题,提高搜索速度 提高网络安全 隐藏用户的真实IP地址,保护个人隐私 突破访问限制,拓宽网络视野 三、代理IP在百度关键词排名优化中的应用 模拟…...
1、Three.js开端准备环境
准备工作 从 CDN 导入 1.安装 VSCode 2.安装 Node.js 3.查看Three.js最新版本 4.如何cdn引入: https://cdn.jsdelivr.net/npm/threev版本号/build/three.module.js 例如:https://cdn.jsdelivr.net/npm/threev0.170.0/build/three.module.js 我们需要…...
什么是Batch Normalization?
一、概念 Batch Normalization是在2015年提出的数据归一化方法,主要用在深度神经网络中激活层之前。它的主要作用是加快模型训练时的收敛速度,使模型训练过程更加稳定,避免梯度爆炸或消失,并起到一定的正则化作用,有时…...
十四(AJAX)、AJAX、axios、常用请求方法(GET POST...)、HTTP协议、接口文档、form-serialize
1. AJAX介绍及axios基本使用 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content&q…...
vue2怎么写computed属性
在Vue 2中,computed属性是基于它们的响应式依赖进行缓存的计算属性。只有当计算属性依赖的响应式数据发生变化时,计算属性才会重新计算。以下是如何在Vue 2中定义computed属性的步骤: 定义响应式数据:首先,你需要在组件…...
【从零开始的LeetCode-算法】35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2示例 2: 输入: …...
vscode + conda + qt联合开发
安装vscode 安装conda 清华大学开源软件镜像(Anaconda下载)_清华大学镜像-CSDN博客 conda create新建一个环境,激活这个环境,然后安装pyside6 pip install pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple 安装成功后输入 pip list查看是否安装…...
嵌入式Linux入门首选:STM32MP157开发板核心优势与学习路径全解析
1. 项目概述:从“学什么”到“用什么学”的抉择每当有朋友或刚入行的新人问我,想入门嵌入式Linux,该从哪块板子开始,我的回答几乎总是绕不开STM32MP157。这听起来像是一个厂商的“标准答案”,但背后是我踩过无数坑、对…...
终极MQTT客户端快速入门指南:5分钟掌握跨平台物联网通信
终极MQTT客户端快速入门指南:5分钟掌握跨平台物联网通信 【免费下载链接】mqttclient A high-performance, high-stability, cross-platform MQTT client, developed based on the socket API, can be used on embedded devices (FreeRTOS / LiteOS / RT-Thread / T…...
Gopher360:如何用游戏手柄轻松控制您的Windows电脑?免费开源控制器映射工具完整指南
Gopher360:如何用游戏手柄轻松控制您的Windows电脑?免费开源控制器映射工具完整指南 【免费下载链接】Gopher360 Gopher360 is a free zero-config app that instantly turns your Xbox 360, Xbox One, or even DualShock controller into a mouse and k…...
终极指南:3种方案快速突破城通网盘下载限制,实现全速免费下载
终极指南:3种方案快速突破城通网盘下载限制,实现全速免费下载 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 你是否曾为城通网盘缓慢的下载速度而烦恼?ctfileGet 是…...
如何快速为小爱音箱添加AI大脑:终极智能升级指南
如何快速为小爱音箱添加AI大脑:终极智能升级指南 【免费下载链接】mi-gpt 🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。 项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt 想让家中的小爱音箱从"人工智障…...
终极ncmdump工具完整指南:3分钟快速解密NCM格式音乐文件
终极ncmdump工具完整指南:3分钟快速解密NCM格式音乐文件 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的歌曲只能在特定播放器里播放而烦恼吗?ncmdump工具为你提供完美的解决方案&…...
抖音内容自动化下载:3大技术挑战与实战解决方案
抖音内容自动化下载:3大技术挑战与实战解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖…...
TensorFlow+GCP+Firebase构建生产级AI Web应用
1. 项目概述:这不是一个“AI玩具”,而是一套可上线、可运维、可迭代的生产级Web应用工作流你有没有遇到过这样的情况:用TensorFlow训练好一个模型,本地Jupyter里跑得飞起,准确率98%,但一想到要把它变成网页…...
最后生还者2重制版 2026最新官方正版免费下载 一键转存 永久更新 (看到速转存 资源随时走丢)
下载链接 动作冒险游戏的技术架构与关卡设计剖析:以《最后生还者:第二部》为例 在现代三维游戏开发中,如何将电影化叙事与高互动性的玩法系统深度结合,一直是工业化研发的核心课题。由索尼互动娱乐发行的《最后生还者:…...
Richard Socher创业公司获6.5亿美元融资,欲让AI自动化研发引领底层范式转移
Richard Socher创业公司获巨额融资一家创业公司获得了GV(Alphabet旗下VC)和Greycroft共同领投的6.5亿美元早期融资,NVIDIA和AMD也参与本轮融资,它的估值达到了46.5亿美元。这家公司的创始人是Richard Socher,他是AI领域…...
