热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在基于python3的conda虚拟环境中从头编译PyKDL

1、问题描述PyKDL在装ROS的时候貌似也一起装上了,因此其路径默认在python2的环境中。由于各种需求,若要在python3的环境中运行PyKDL,需要重新编译,以下将以co

1、问题描述

PyKDL在装ROS的时候貌似也一起装上了,因此其路径默认在python2的环境中。由于各种需求,若要在python3的环境中运行PyKDL,需要重新编译,以下将以conda的python3.6环境为例。

2、源码下载

PyKDL下载地址,先git clone,就放到/home里面好了。源码也有安装指导,可以参考一下。

3、编译(参考博文)

C语言文件的编译步骤

进入 /orocos_kinematics_dynamics/orocos_kdl,输入如下命令:

mkdir build
cd build
cmake ../
make
sudo make install

python文件的编译步骤(先完成C语言文件的编译,然后才是python,两者不是平行的,而是先后的)

进入 /orocos_kinematics_dynamics/python_orocos_kdl,输入命令:

mkdir build
cd build
cmake ../ -DPYTHON_EXECUTABLE:FILEPATH=/home/wu/anaconda3/envs/mj/bin/python3.6

具体路径请按自己conda环境下的python路径修改,继续输入下列命令:

make
sudo make install

cmake那一步可能会报这样的错:

《如何在基于python3的conda虚拟环境中从头编译PyKDL》

解决方法:在/orocos_kinematics_dynamics/python_orocos_kdl下,打开终端,输入命令:

git submodule update --init

这样会重新安装编译pybind11,问题解决。

 

ok,编译工作到此为止

4、copy PyKDL.so文件

编译完成后,copy ~/orocos_kinematics_dynamics/python_orocos_kdl/build/devel/lib/python3/dist-packages/PyKDL.so 到你的conda虚拟环境site-packages文件夹中,

我这边的路径是~/anaconda3/envs/mj/lib/python3.6/site-packages

5、添加路径到你的.bashrc文件中

打开你的.bashrc文件,即gedit ~/.bashrc,添加路径,我这边是这样:

export PYTHOnPATH="/home/wu/anaconda3/envs/mj/lib/python3.6/site-packages:$PYTHONPATH"

具体路径请修改

ok,顺利做到这一步,就可以在conda虚拟环境python3下运行PyKDL了!

《如何在基于python3的conda虚拟环境中从头编译PyKDL》

6、简单解释一下第5步

如果不执行第5步,在我们import PyKDL时,还是会报错的,因为此时指向的还是python2下PyKDL,但只要添加好对应路径,就会优先指向我们编译时用到的虚拟环境,进而成功运行。

如果运行其他程序报错,可以考虑注释掉第5步中的路径。

官方安装教程


推荐阅读
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 本文介绍了解决github无法访问和克隆项目到本地的问题。作者建议通过修改配置文件中的用户名和密码来解决访问失败的问题,并提供了详细步骤。同时,还提醒读者注意输入的用户名和密码是否正确。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
author-avatar
缺心眼的小L
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有