ERROR: Could not build wheels for roslz4

Python bugs

最近在安装python的rosbag包时出现了诸多问题,特别记录下。
python版本:3.11
系统版本:Windows10 x86_64
使用conda虚拟环境进行包管理。

运行命令

pip3 install roslz4 --extra-index-url 
https://rospypi.github.io/simple/

参考:https://www.cnblogs.com/yunhgu/p/15785460.html

终端中出现了以下问题:

Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple, https://rospypi.github.io/simple/
Collecting roslz4Using cached https://github.com/rospypi/simple/raw/any/roslz4/roslz4-1.14.3.post2.tar.gz (18 kB)Installing build dependencies ... doneGetting requirements to build wheel ... doneInstalling backend dependencies ... donePreparing metadata (pyproject.toml) ... doneBuilding wheel for roslz4 (pyproject.toml) ... errorerror: subprocess-exited-with-error× Building wheel for roslz4 (pyproject.toml) did not run successfully.╰─> [10 lines of output]running bdist_wheelrunning build_pycreating buildcreating build\lib.win-amd64-cpython-310\roslz4copying ros_comm\utilities\roslz4\src\roslz4\__init__.py -> build\lib.win-amd64-cpython-310\roslz4building '_roslz4' extensionerror: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.ERROR: Failed building wheel for roslz4
Failed to build roslz4
ERROR: Could not build wheels for roslz4, which is required to install pyproject.toml-based projects
  • 起初在谷歌搜索以为是 error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ 这个原因,因为自己也没有安装vs build tools,便尝试安装,但是安装上还无法解决该问题。
  • 还尝试了直接下载对应源码,即在 https://rospypi.github.io/simple/ 进行下载,但是似乎没有发现本机器对应的包版本,又看见终端出现 roslz4-1.14.3.post2.tar.gz ,便去下载该文件,但是运行 python setup.py install 命令还是无法安装。
  • 然后怀疑是python版本和下载的vs build tools版本不兼容的问题,便搜索对应资料
    运行 python 进入终端后可查看对应的msc版本。
    在这里插入图片描述
    然后与 https://dev.to/yumetodo/list-of-mscver-and-mscfullver-8nd 网站中的对应,发现我安装的是vs生成工具是2022年的17.8.6版本,似乎版本过于超前,遂产生改变python版本尝试安装的想法。
  • 重建一个3.8python版本的环境,重新运行上述安装命令,直接安装成功,没有任何报错。

故最终原因应该就是:
Python版本不兼容的问题,尽量不要安装较新版本的Python,降低Python版本即可。

我安装的vs生成工具可能没有什么用。

参考:
[1] 版本对应:https://blog.csdn.net/huobanjishijian/article/details/91046070
[2] win10+python3安装rosbag:https://www.cnblogs.com/yunhgu/p/15785460.html

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

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

相关文章

奇异值分解(SVD)的应用——图像压缩

SVD方法是模型降阶的一类重要方法,本征正交分解(POD)和平衡截断(BT)都属于SVD类方法。 要想深入了解模型降阶技术,我们可以先从SVD的应用入手,做一个直观的了解。 1. SVD的定义和分类 我们想寻找…

【学网攻】 第(25)节 -- 帧中继(多对一)

系列文章目录 目录 系列文章目录 文章目录 前言 一、帧中继是什么? 二、实验 1.引入 实验目标理解帧中继在广域网中的原理及功能; 实验背景 技术原理 实验步骤 实验设备 实验拓扑图​编辑 实验配置 实验验证 文章目录 【学网攻】 第(1)节…

华为 huawei 交换机 接口 MAC 地址学习限制接入用户数量 配置示例

目录 组网需求: 配置思路: 操作步骤: 配置文件: 组网需求: 如 图 2-14 所示,用户网络 1 和用户网络 2 通过 LSW 与 Switch 相连, Switch 连接 LSW 的接口为GE0/0/1 。用户网络 1 和用户网络 2 分别属于 VLAN10 和 V…

c++之说_14|左值引用与右值引用

提起左右值引用我就头疼 左值: 1、在内存中开辟了空间的便叫左值 2、左值不一定可以赋值 如字符串常量 3、左值可以取地址 右值: 1、在内存中没有开辟空间的 2、右值无法取地址 如: 立即数(1,2,3…

前后端分离nodejs+vue动态网站的图书借阅管理系统35ih5

读者模块 1)注册:读者输入账号、密码、确认密码、姓名、手机、身份证、邮箱,点击注册按钮,完成注册。 2)登录:普通读者成功输入读者账号和密码,点击登录按钮。 3)读者主页面:读者登录成功后,选择…

React - 分页插件默认是英文怎么办

英文组件的通用解决方案 这里以分页插件为例: 大家可以看到,最后的这个页面跳转提示文字为Go to,不是中文,而官网里面的案例则是: 解决方案: import { ConfigProvider } from antd; import zhCN from an…

【Linux】信号概念与信号产生

信号概念与信号产生 一、初识信号1. 信号概念2. 前台进程和后台进程3. 认识信号4. 技术应用角度的信号 二、信号的产生1. 键盘组合键2. kill 命令3. 系统调用4. 异常(1)观察现象(2)理解本质 5. 软件条件闹钟 一、初识信号 1. 信号…

【MySQL】MySQL表的增删改查(进阶)

MySQL表的增删改查(进阶) 1. 数据库约束1.1 约束类型1.2 NULL约束1.3 UNIQUE:唯一约束1.4 DEFAULT:默认值约束1.5 PRIMARY KEY:主键约束1.6 FOREIGN KEY:外键约束:1.7 CHECK约束(了解) 2. 表的设…

python健身房管理系统 django健身课程预约系统

系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行查看首页、健身课程、留言板、个人中心、后台管理等,根据自己的需求可以进行查看健身课程,这样既能节省用户的时间,不用在像传统的…

H12-821_35

35.如图所示,SWA、SWB、SWC都运行RSTP,SWB上的GEO/O/2端口和SWC上的GEO/0/1端其端口角色为? A.backup端口.Alternative端口 B.Alternative端口、Backup端口 C.Root端口、Designate端口 D.Backup端口、Root端口 答案:A 注释: 一个链路(冲突域…

Bean 的生命周期

Bean 的生命周期 ⽣命周期指的是⼀个对象从诞⽣到销毁的整个⽣命过程,我们把这个过程就叫做⼀个对象的⽣命周期. Bean 的⽣命周期分为以下 5 个部分: 1. 实例化(为Bean分配内存空间) 2. 属性赋值( Bean 注⼊和装配,⽐如 AutoWired ) 3. 初始化 a. 执⾏各种通知,如 BeanNameA…

Java:Arrays类、Lambda表达式、JDK新特性(方法引用) --黑马笔记

一、Arrays类 1.1 Arrays基本使用 Arrays是操作数组的工具类,它可以很方便的对数组中的元素进行遍历、拷贝、排序等操作。 下面我们用代码来演示一下:遍历、拷贝、排序等操作。需要用到的方法如下: public class ArraysTest1 {public stat…