安装PyKDL库: No module named ‘PyKDL

我的python路径是/home/lsw/miniconda3/bin/python python版本是Python 3.8.17 怎么设置为默认

要将你的 Python 路径 /home/lsw/miniconda3/bin/python 设置为默认的 Python 版本,你可以使用 update-alternatives 命令(适用于 Debian/Ubuntu 等基于 Debian 的 Linux 发行版)。以下是设置的步骤:

  1. 首先,使用以下命令添加 Python 可选项到 update-alternatives 中:

     

    bash

  • sudo update-alternatives --install /usr/bin/python python /home/lsw/miniconda3/bin/python 1
    
  • 接下来,使用以下命令选择默认的 Python 版本:

     

    bash

  • sudo update-alternatives --config python
    

    这将显示一个菜单,列出已安装的 Python 版本以及它们的路径。选择你想要设置为默认的 Python 版本对应的编号。

  • 最后,验证默认的 Python 版本是否设置成功,可以使用以下命令检查:

     

    bash

  1. python --version
    

    确保输出显示的是你选择的 Python 版本号。

请注意,这些命令可能需要以管理员权限运行(使用 sudo)。此外,这些步骤适用于 Debian/Ubuntu 等基于 Debian 的 Linux 发行版,其他发行版可能需要不同的方法来设置默认的 Python 版本。

home/lsw/orocos_kinematics_dynamics/python_orocos_kdl/pybind11/include/pybind11/detail/common.h:277:6: error: #error "PYTHON < 3.6 IS UNSUPPORTED. pybind11 v2.9 was the last to support Python 2 and 3.5." # error "PYTHON < 3.6 IS UNSUPPORTED. pybind11 v2.9 was the last to support Python 2 and 3.5." ^~~~~ In file included from /home/lsw/orocos_kinematics_dynamics/python_orocos_kdl/pybind11/include/pybind11/detail/type_caster_base.h:12:0, from /home/lsw/orocos_kinematics_dynamics/python_orocos_kdl/pybind11/include/pybind11/cast.h:15, from /home/lsw/orocos_kinematics_dynamics/python_orocos_kdl/pybind11/include/pybind11/attr.h:14, from /home/lsw/orocos_kinematics_dynamics/python_orocos_kdl/pybind11/include/pybind11/detail/class.h:12, from /home/lsw/orocos_kinematics_dynamics/python_orocos_kdl/pybind11/include/pybind11/pybind11.h:13, from /home/lsw/orocos_kinematics_dynamics/python_orocos_kdl/PyKDL/PyKDL.h:26,

这个错误表明你的代码要求使用的 Python 版本至少为 3.6,而你当前的 Python 版本是 3.5。为了解决这个问题,你可以考虑升级你的 Python 版本到 3.6 或更高版本。

你可以按照以下步骤来升级你的 Python 版本:

  1. 备份你的环境:在进行任何更改之前,确保备份你的环境,以防万一。

  2. 检查可用的 Python 版本:首先,检查你的系统中可用的 Python 版本。你可以使用包管理器或从源代码构建 Python。

  3. 安装新的 Python 版本:选择一个符合你需求的新的 Python 版本,并按照官方文档或其他适当的指南进行安装。

  4. 更新路径:安装新版本后,确保更新系统路径,以便系统能够找到新的 Python 版本。你可能需要调整环境变量或使用替代工具,如 update-alternatives(适用于 Debian/Ubuntu 等基于 Debian 的 Linux 发行版)。

  5. 测试:安装完成后,测试你的代码以确保它能够在新的 Python 版本上运行。

请注意,在进行任何更改之前,请确保理解并确认所采取的步骤,并确保备份重要数据。

但是我的python是3.8.17

Python 版本已经是 3.8.17,出现这个错误可能是因为编译环境没有正确检测到你的 Python 版本。可以尝试以下几个步骤来解决这个问题:

  1. 确保环境变量设置正确: 检查你的环境变量 PYTHONPATHPATH 是否已经正确设置,以确保指向你当前使用的 Python 3.8.17 的安装路径。可以在终端执行以下命令查看设置:

     

    bash

  • echo $PYTHONPATH
    echo $PATH
    
  • 使用正确的 Python 解释器启动编译: 确保编译时使用的是正确的 Python 解释器。你可以通过显式指定 Python 解释器的路径来启动编译过程。例如,如果你使用的是 CMake,可以这样设置:

     

    bash

  • cmake -DPYTHON_EXECUTABLE=/home/lsw/miniconda3/bin/python ..
    
  • 清理并重新编译: 有时旧的编译缓存可能导致问题。尝试清理你的构建环境(如使用 make clean 或删除构建目录),然后重新开始编译过程。

  • 检查 pybind11 配置: 你的错误来自于 pybind11。确保在配置或编译 pybind11 时使用了正确的 Python 版本。查看任何可能影响 pybind11 配置的设置,包括通过 setup.py 或相关脚本。

  • 验证 Python 版本: 确认构建脚本或构建系统在执行过程中调用的 Python 版本。你可以通过在编译脚本中添加打印语句来验证实际使用的 Python 版本,例如在 CMakeLists.txt 中添加:

     

    cmake

  1. message(STATUS "Using Python: ${PYTHON_EXECUTABLE}")
    

如果上述步骤都无法解决问题,你可能需要检查具体的构建日志或向你使用的库的开发者寻求帮助,例如在 pybind11 的 GitHub 仓库提问或查阅相关文档。

问题:我python默认是3.8.17 但是cmake的路径是/home/lsw/catkin_ws/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages

cmake -DPYTHON_EXECUTABLE=/home/lsw/miniconda3/bin/python ..

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

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

相关文章

HTML:元素分类

HTML&#xff1a;元素分类 概述块级元素&#xff08;Block-level Elements&#xff09;内联元素&#xff08;Inline Elements&#xff09;替换元素&#xff08;Replaced Elements&#xff09;表单元素&#xff08;Form Elements&#xff09; 概述 HTML&#xff08;HyperText M…

Docker容器:网络模式与资源控制

目录 一、Docker 网络模式 1、Docker 网络实现原理 2、Docker 网络模式概述 2.1 Host 模式 2.2 Container 模式 2.3 None 模式 2.4 Bridge 模式 2.5 自定义网络&#xff08;user-defined network&#xff09; 3、配置 docker 网络模式 3.1 查看网络基础命令 3.1.1 查…

css利用transform:skew()属性画一个大屏的背景斜面四边形特效

在工作工程中需要写一个如下的大屏背景&#xff0c;是由几个斜面做成的效果 使用css transform function中的skew()方法实现画其中一个斜面&#xff0c;然后调整背景色实现 写一个div <div class"skew_container test-2"><div class"skew_container_it…

React中,双花括号和单花括号的区别(四)

在React中&#xff0c;花括号 {} 用于在JSX中插入JavaScript表达式。 单花括号 {}&#xff1a;通常用于在JSX中嵌入JavaScript表达式。这些表达式可以是变量、函数调用、对象字面量、数组等。React会评估这些表达式&#xff0c;并将结果插入到JSX中。 例如&#xff0c;在你的代…

【python笔记】datafram的时间动态可视化 pyecharts地图

import pandas as pd# 假设DataFrame是这样的&#xff1a; df pd.DataFrame({ year: [2014, 2015, 2016, 2014, 2015, 2016, 2014, 2015, 2016], province: [广东省, 广东省, 河南省, 湖南省, 北京市, 北京市, 上海市, 新疆维吾尔自治区, 上海市], values: [100, 150, 75…

Servlet文件嵌套<script>来显示提示框而出现乱码的解决方案

主要出现的原因就是编码不统一导致无法解析对话框中的字符串 我的解决方案: 使用 URL 的编码格式&#xff0c;然后再使用js中的decodeURIComponent函数解析URL编码的字符串&#xff0c;并且恢复其原始字符串内容 将你写的传统的编码格式改为 PrintWriter out resp.getWriter(…

多目标应用:MSSA多目标樽海鞘优化算法求解无人机三维路径规划(MATLAB代码)

一、无人机多目标优化模型 无人机三维路径规划是无人机在执行任务过程中的非常关键的环节&#xff0c;无人机三维路径规划的主要目的是在满足任务需求和自主飞行约束的基础上&#xff0c;计算出发点和目标点之间的最佳航路。 1.1路径成本 无人机三维路径规划的首要目标是寻找…

YOLOV8 pycharm

1 下载pycharm 社区版 https://www.jetbrains.com/zh-cn/pycharm/download/?sectionwindows 2 安装 3 新建 4 选择 文件-> setting 配置环境变量 5 添加conda 环境

基本STL使用

一 、关于vector 在STL中有一个称为vector的数据结构&#xff0c;可以用来代替数组。 定义Book特性 private:vector<string> shelf_books;Notic : 类中不能使用类似的定义&#xff1a;vector<sttring> shelf_boos( 10 ); 定义Book方法 public:void setName(str…

5.C++动态内存管理(超全)

目录 1 .C/C 内存分布 2. C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free 3. C内存管理方式 3.1 new/delete操作内置类型 3.2 new和delete操作自定义类型 3.3 operator new函数 3.4 定位new表达式(placement-new) &#xff08;了解&#xff09; 4. 常…

Java 基础重点知识-(Java 语言特性、数据类型、常见类、异常)

文章目录 Java 语言特性形参和实参的区别是什么?值传递和引用传递的区别?Java 是值传递还是引用传递?final 的作用是什么?final finally finalize 有什么不同?static 的作用是什么?static 和 final 的区别是什么? Java 数据类型Java基本数据类型有几种? 各占多少位?基…

【MySQL精炼宝库】数据库的约束 | 表的设计 | 聚合查询 | 联合查询

目录 一、数据库约束 1.1 约束类型&#xff1a; 1.2 案例演示&#xff1a; 二、表的设计 2.1 一对一: 2.2 一对多: 2.3 多对多: 2.4 内容小结&#xff1a; 三、新增 四、查询 4.1 聚合查询&#xff1a; 4.1.1 聚合函数&#xff1a; 4.1.2 GROUP BY子句&#xff1a…

windows驱动开发-中断(一)

中断是windows中最难的一部分&#xff0c;这是因为中断本身属于操作系统的一部分&#xff0c;理解了中断和内存&#xff0c;对整个系统也就了解了。 中断部分会先从中断优先级、中断处理、中断服务例程入手&#xff0c;大概讲述一下中断的概念&#xff1b;接着从中断的一般实现…

C语言:指针详解(3)

目录 一、字符指针 二、数组指针 1.数组指针的定义 2.数组指针的初始化 3. 二维数组传参的本质 三、函数指针 1.函数指针的创建 2.函数指针的使用 3.有趣的代码(1) 4.有趣的代码(2) 四、typedef关键字 1.typedef的使用方法 2.typedef和#define的区别 五、函数指针…

前端性能优化知识梳理

1.重要性 当我们面试的时候&#xff0c;前端性能优化方面算是必考的知识点&#xff0c;但是工作中我们又很少会重点的对项目进行前端优化&#xff0c;它真的不重要吗&#xff1f; 如果我们可以将后端响应时间缩短一半&#xff0c;整体响应时间只能减少5%~10%。而如果关注前端…

imx6ull启动方式和镜像文件烧写

文章目录 前言一、BOOT启动方式1.串行下载2.内部BOOT模式 二、内部BOOT模式详细流程1.启动设备的选择2.镜像烧写 总结 前言 &#x1f4a6; I.MX6Ull 支持多种启动方式以及启动设备&#xff0c;比如可以从 SD/EMMC、NAND Flash、QSPI Flash等启动。用户可以根据实际情况&#x…

【web安全】-- 命令执行漏洞详解

本文将从原理开始介绍命令执行漏洞并附有三个实例来供各位客官学习 文章目录 一、什么是命令执行漏洞二、出现的原因三、有可能存在命令执行漏洞的函数&#xff08;php&#xff09;1、利用一些函数来实现命令执行2、直接执行系统命令的函数 四、命令拼接符号1、Windows2、linux…

QT:不同UI间数据,信号的交互

前言 接上文&#xff0c;手动绘制的矩形框毕竟还是在上位机的播放界面内&#xff0c;想要把数据发送给3559还是需要通过串口或者网口发送&#xff0c;没有部署在一个界面就需要不同UI间数据和信号进行交互了&#xff0c;数据还好说&#xff0c;全局变量都可以做到&#xff0c;信…

【c++】反向迭代器的探究实现

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 在list中我们实现了正向的迭代器&#xff0c;学习完优先级队列后&#xff0c;我们也对适配器模式有了一个深刻的理解&#xff0c;这篇文章基于这种模式下&#xff0c;实现各类容器的反向迭…

Docker-compose部署LTC同步节点

1、下载ltc程序包&#xff0c;litecoin下载地址 下载页 mkdir /data/docker-compose/ltc cd /data/docker-compose/ltc https://github.com/litecoin-project/litecoin/releases/download/v0.21.3/litecoin-0.21.3-x86_64-linux-gnu.tar.gz2、编写dockerfile和bitcoin.conf b…