Raspbian命令行安装指定版本picamera2

Raspbian命令行安装指定版本picamera2

  • 1. 源由
  • 2. 卸载、升级、安装
    • 2.1 查看
    • 2.2 卸载
    • 2.3 升级
    • 2.4 安装
  • 3. OS指定版本安装
  • 4. 补充 - 安装异常

1. 源由

  • OV5647与树莓派bullseye 64bit的兼容性问题
  • Can’t access video WebGUI #234

上面的问题,主要还是树莓派上查找摄像头设备出现异常的问题。目前基本已经定位到是picamera2的兼容性问题。

因此,我们需要了解如何卸载、安装、安装指定版本的picamera2,进而再指定OS下安装特定版本,从而解决上述问题。

2. 卸载、升级、安装

注:pip 可以替换为pip3,具体看python当前环境,本机默认是python3。

2.1 查看

$ pip list | grep picamera2

2.2 卸载

$ pip uninstall picamera2

2.3 升级

$ python -m pip install --upgrade pip

2.4 安装

$ pip install picamera2

安装指定版本:

$ pip install picamera2==<版本号>

3. OS指定版本安装

$ nano ./install_picamera2.sh
$ chmod +x install_picamera2.sh
$ cat ./install_picamera2.sh
#!/bin/bash# Function to detect the OS version
detect_os() {if [ -f /etc/os-release ]; then. /etc/os-releaseOS=$NAMEVERSION=$VERSION_IDelseecho "OS detection not supported. Exiting."exit 1fi
}# Function to install picamera2 for Bullseye
install_bullseye() {echo "Installing picamera2=0.3.12 for Bullseye..."pip install picamera2==0.3.12
}# Function to install picamera2 for Bookworm
install_bookworm() {echo "Installing picamera2 for Bookworm..."pip install picamera2
}# Main script
detect_osecho "Detected OS: $OS"
echo "Detected Version: $VERSION"# picamera2 needs libcap
sudo apt-get install libcap-devif [[ $OS == "Debian GNU/Linux" || $OS == "Raspbian GNU/Linux" ]]; thencase $VERSION in"11")install_bullseye;;"12")install_bookworm;;*)echo "Unsupported Debian/Raspbian version: $VERSION. Exiting."exit 1;;esac
elseecho "Unsupported OS: $OS. Exiting."exit 1
fiecho "Installation complete."

4. 补充 - 安装异常

 Preparing metadata (setup.py) ... errorerror: subprocess-exited-with-error× python setup.py egg_info did not run successfully.│ exit code: 1╰─> [1 lines of output]You need to install libcap development headers to build this module[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed× Encountered error while generating package metadata.
╰─> See above for output.

需要提前安装 libcap 开发头文件:

$ sudo apt-get install libcap-dev

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/36177.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

细粒度图像分类论文阅读笔记

细粒度图像分类论文阅读笔记 摘要Abstract1. 用于细粒度图像分类的聚合注意力模块1.1 文献摘要1.2 研究背景1.3 本文创新点1.4 计算机视觉中的注意力机制1.5 模型方法1.5.1 聚合注意力模块1.5.2 通道注意力模块通道注意力代码实现 1.5.3 空间注意力模块空间注意力代码实现 1.5.…

Qt实战项目——贪吃蛇

一、项目介绍 本项目是一个使用Qt框架开发的经典贪吃蛇游戏&#xff0c;旨在通过简单易懂的游戏机制和精美的用户界面&#xff0c;为玩家提供娱乐和编程学习的机会。 游戏展示 二、主要功能 2.1 游戏界面 游戏主要是由三个界面构成&#xff0c;分别是游戏大厅、难度选择和游戏…

基于QFD的景区共享代步车创新设计

一、传统景区交通方式的瓶颈 在传统景区中&#xff0c;游客往往面临着步行太累、乘坐观光车又不够自由灵活的困境。同时&#xff0c;随着游客数量的不断增加&#xff0c;景区内的交通压力也在逐渐增大。因此&#xff0c;开发一种既环保又便捷的代步工具&#xff0c;成为了摆在…

【Java Web】会话管理

目录 一、为什么需要会话管理&#xff1f; 二、会话管理机制 三、Cookie概述 四、HttpSession概述 4.1 HttpSession时效性 一、为什么需要会话管理&#xff1f; HTTP协议在设计之初就是无状态的&#xff0c;所谓无状态就是在浏览器和服务器之间的通信过程中&#xff0c;服务器并…

数据分类分级分几步?“6步分解”一目了然!

数据分类分级是企业开展数据安全治理的第一步。通过数据分类分级对数据资产进行盘点&#xff0c;及时掌握内部数据情况&#xff0c;有针对性的对各类型数据采取安全防护措施&#xff0c;为后续企业数据资产管理和数据安全体系建设起到关键作用。 同时&#xff0c;随着《中华人民…

PVE 8.2.2安装OpenWrt 23.05.3

1,下载官方openwrt 23.5.3镜像并解压 2&#xff0c;进入pve上传镜像 复制这段文字之后需要使用 创建虚拟机 删除磁盘 安装完毕后 shell 运行 qm importdisk 100 /var/lib/vz/template/iso/openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img local-lvm 其中100是虚拟…

C++ 参数传递方式有哪些?它们有什么区别【面试】

传递方式 在C中&#xff0c;参数的传递方式主要有以下几种&#xff1a; 按值传递&#xff08;Pass by Value&#xff09;&#xff1a; 将实参的值复制给形参&#xff0c;函数内对形参的操作不会影响实参的值。适用于基本数据类型和小型结构体&#xff0c;因为复制开销较小。 按…

Java中反射的应用举例

一、技术难点 Java反射&#xff08;Reflection&#xff09;是Java语言提供的一种强大工具&#xff0c;它允许程序在运行时进行自我检查和修改。然而&#xff0c;反射也带来了一些技术难点&#xff1a; 性能问题&#xff1a;反射涉及到了动态类型解析和代码生成&#xff0c;相…

想学gis开发,java和c++那个比较好?

ava与C的应用场景不同&#xff0c;究竟选择谁&#xff0c;应该由开发者的兴趣方向来决定。 你选择Java&#xff0c;意味着以后的业务方向就是偏后台服务开发&#xff0c;如果你非得说我用java也可以写界面&#xff0c;对不起&#xff0c;别人不会。 刚好我有一些资料&#xf…

AudioLM深度解析:革新音频生成的未来

在人工智能领域&#xff0c;自然语言处理&#xff08;NLP&#xff09;的突破性进展已经催生了多种语言模型&#xff0c;如GPT系列和BERT。这些模型在文本生成、翻译和理解方面取得了巨大成功。随着技术的发展&#xff0c;类似的模型也被应用于音频领域&#xff0c;其中AudioLM便…

光电液位传感器工作时容易受哪些因素影响?

光电式水位传感器的检测液位时是必须要接触液体才能进行检测的。当液体覆盖光电式水位传感器的探头时&#xff0c;传感器内的发光二极管发射出去的光线会折射在液体中&#xff0c;而光敏接收器只能接收到少量光电或者接收不到光线。反之正常接收光线则是无水状态。 光电式水位…

使用前缀积求最后K个数的乘积

前缀积解题基本思路&#xff1a; 1.首先创建整型集合&#xff0c;添加元素1&#xff08;任何整数乘以1都等于整数本身&#xff09;。 2.将与新元素的乘积依次添加到整型集合中&#xff0c;再根据相应的索引值进行除法操作&#xff0c;从而获取最后K个数的乘积。 3.&#xff…

腾讯云对象存储cors错误处理

最近将公司的域名进行了修改&#xff0c;同时将腾讯云的对象存储改成了https&#xff0c;为了安全嘛。然后上传软件包的时候发现上传软件就失败了。 在浏览器中打开该 HTML 文件&#xff0c;单击 Test CORS 发送请求后&#xff0c;出现以下错误&#xff0c;错误提示&#xff1…

单点登录系统8大原理机制详解

单点登录系统详解(8大原理机制图解) 单点登录 单点登录&#xff08;SSO&#xff09;实现一处登录&#xff0c;全平台畅通。用户只需登录一次&#xff0c;即可无缝访问多个互信的应用系统&#xff0c;高效便捷&#xff0c;省时省心。 举例来说&#xff0c;阿里旗下拥有多款热门…

Java面试题:解释常见的HTTP状态码及其含义

HTTP状态码是由服务器返回给客户端的三位数字&#xff0c;用于表示HTTP请求的结果状态。以下是一些常见的HTTP状态码及其含义&#xff1a; 1xx: 信息响应 102 Processing (WebDAV)&#xff1a;表示服务器已收到并正在处理请求&#xff0c;但尚未有响应可用。 2xx: 成功 203…

Jackson序列化时实现任意类型自定义转换

自定义Jackson2序列化反序列化&#xff0c;参考&#xff1a; Jackson序列化时实现任意类型自定义转换_jackson 自定义转换-CSDN博客

Spring Boot中的会话管理

Spring Boot中的会话管理 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来聊聊Spring Boot中的会话管理。会话管理是Web应用中非常重要的一部分&#…

策略模式(Strategy Pattern)

策略模式 &#xff08;Strategy Pattern&#xff09; 定义 它是将定义的算法家族、分别封装起来&#xff0c;让它们之间可以相互替换&#xff0c;从而让算法的变化不会影响到使用算法的用户。 可以避免多重分支的 if-else、switch语句。 属于行为型模式。 适用场景 如果系…

现货黄金如何操作:黄金技术性止损的运用

止损是现货黄金如何操作中不得不提及的方法。在现货黄金投资过程中&#xff0c;风险是存在的&#xff0c;重要的是如何将风险把控好。这里的一个重要概念就是&#xff0c;要对每一笔交易设定好止损&#xff0c;可以讲&#xff0c;这就是现货黄金如何操作的方法中最重要的一种。…

如何降低MCU系统功耗?

大家在做MCU系统开发的时候&#xff0c;是否也碰到过降低MCU系统功耗的需求&#xff1f; MCU系统整板功耗是个综合的数据&#xff0c;包括MCU功耗以及外部器件功耗&#xff0c;在此我们主要介绍如何降低MCU的功耗&#xff1a; 可以在满足应用的前提下&#xff0c;降低MCU的运…