ROS Melodic 使用Anaconda环境python3

ROS Melodic中同时使用python2和python3方法 ROS Melodic中同时使用python2和python3方法问题引入解决方案注意事项 问题引入 ROS Melodic的默认环境是python2, 最新发布的ROS noetic才完全支持python3。因此对用ROS Melodic开发项目, 同时需要使用python3编写程序的使用者造成了一定的困扰。希望这篇文章可以有所帮助 目标: 在对原有python2代码不造成损害的前提下,开发用python3编写额外的ROS node. 在同一个ROS workspace下保证python2和pytho 阅读详情

核心基于该文章:Building ROS Melodic with Python3 support

前提

本文基于上述的核心文章,提出遇到的问题,并提出解决方案,仅供参考。整体流程请按推荐文章走。
1.你已经拥有一个在linux环境下的anaconda虚拟环境
2.使用python3
3.默认python 和 python3 设置为anaconda虚拟环境下的python

第一个问题

在这里插入图片描述
此处教程上会安装一个 python3,且默认位置在/usr/local/lib/python3.6 一定要注意,如果想使用Ananconda的虚拟环境,此处无需下载python3,将第二条指令改为:

sudo apt install -y build-essential

在这里插入图片描述
注意: 此处的pip3安装,一定不要加上sudo ,否则使用的是系统内置下载的python,如果上一步下载了python,则会把这些库装在/usr/local/lib/python3.6/dist-packages,并不在我们所想的anaconda虚拟环境中。所以需要先切换到我们对应的环境下,再使用pip安装。

source activate 你的虚拟环境名
pip3 install rosdep rospkg rosinstall_generator rosinstall wstool vcstools catkin_tools catkin_pkg

第二问题

在这里插入图片描述
这里普遍无法成功,资源都被屏蔽了。还好有人将资源备份到了gitee上,我们通过更改ros的配置文件,来成功初始化。
首先到/anaconda3/lib/python3.7/site-packages里寻找

./rosdistro/__init__.py
./rosdep2/gbpdistro_support.py
./rosdep2/sources_list.py 
./rosdep2/rep3.py

然后在每个文件内搜索raw.githubusercontent.com/ros/rosdistro/master,将其替换成gitee.com/zhao-xuzuo/rosdistro/raw/master,每个文件都只有一个URL需要替换。
然后再重新执行,即可成功

sudo rosdep init
rosdep update

第三问题

在这里插入图片描述在执行此处第一步时,一直报错,查询后:
rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall
去掉 --tar,改为
rosinstall_generator desktop_full --rosdistro melodic --deps > melodic-desktop-full.rosinstall
会直接下载,更容易成功。
如果有下载失败的,如下:

Exception caught during install: Error processing 'filters' : [filters] Checkout of https://github.com/ros-gbp/filters-release/archive/release/melodic/filters/1.8.2-1.tar.gz version filters-release-release-melodic-filters-1.8.2-1 into /home/meroke/ros_catkin_ws/src/filters failed.
Error processing 'rqt_py_console' : [rqt_py_console] Checkout of https://github.com/ros-gbp/rqt_py_console-release/archive/release/melodic/rqt_py_console/0.4.8-0.tar.gz version

复制报错模块的下载网址如
https://github.com/ros-gbp/filters-release/archive/release/melodic/filters/1.8.2-1.tar.gz
复制到网页,点击下载,然后将模块解压后放入src文件夹内。
再次运行指令wstool update -j4 -t src 直至无错误。

注:此处说明这里安装的ros和使用 sudo apt-get install ros-melodic-desktop-full的区别
本方法:
ros的包都在~/ros_catkin_ws/install/的 include lib share三个文件夹中
使用apt-get install:
ros的包都在/opt/ros/melodic/ 的 include lib share三个文件夹中
如有独立的模块包如gmapping|、map_server等,使用apt install ros-melodic-xxx,会下载到/opt/ros/melodic/ 的 include lib share中,此处将新内容复制到~/ros_catkin_ws/install/对应的位置即可。
警告:/opt/ros/melodic/是python2版本的,如果使用sudo install ros-melodic-xxx,再将包复制到~/ros_catkin_ws/install/内,由于部分库不支持python3,会导致运行出错,如gazebo模型加载失败。如果发生此错误,只需回到~/ros_catkin_ws/ ,运行catkin build

在这里插入图片描述

$ sudo ./install_skip `rosdep check --from-paths src --ignore-src | grep python | sed -e "s/^apt\t//g" | sed -z "s/\n/ /g" | sed -e "s/python/python3/g"`

在执行这一步时,遇到了提示找不到 python33-rosdep等一些列包的问题,很明显,我这里显示多了个3,于是我去掉命令中最后的3,即可成功。
但这可能是由于我将默认python和python3都设置成了虚拟环境中的python3的问题。如果原指令没问题,则继续使用原指令。

后续运行非常顺利。

参考资料:安装ROS

http://www.autolabor.com.cn/book/ROSTutorials/chapter1/12-roskai-fa-gong-ju-an-zhuang/124-an-zhuang-ros.html

【ROS】如何在ROS中使用anaconda虚拟环境? 在ROS中使用anaconda虚拟环境。 阅读详情

相关推荐

ros-melodic 下python3使用cv_bridge的解决办法

1、首先进入python3的环境并安装相关依赖包 sudo apt-get install ros-melodic-cv-bridge python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml 2、创建一个工作空间 mkdir -p catkin_workspace/src 3、指示carkin设置cmake变量(python3.x版本根据实际系统的确定) cd catkin_...

qq_33445388的博客 3392

ROS_melodic与python3兼容

Ubuntu18.04的ros版本是melodic,一般只能兼容python2.7;实际使用中,需要rosrun运行python3的程序。

m0_58304321的博客 3415

默认路径是Python3,在catkin make阶段遇到问题

出现问题: ImportError: “from catkin_pkg.package import parse_package” failed: No module named ‘catkin_pkg’ 分析原因:vim catkin_make 文件,发现#!/usr/bin/python,这个时候catkin_make使用的是usr的默认Python3 路径,所以会出现找不到相关的模块的问题 ...

ccc15327311512的博客 2373

ROS melodic使用python3

首先要了解为什么ROS不能支持Python3对于纯的Python代码同时支持Python3和Python2.7是比较容易的,基本上ROS的代码也都是支持的。这就是ROS无法支持Python3的原因。目前ROS的核心包都是支持用Python3从源码编译的。下面介绍两种使用Python3的方法。在引用软件包的时候,如果没有对应的Python3的软件包,会自动的去Python2.7的环境里面找。当然对于没有做好Python3支持的软件包也是没法用的。Python3的支持在ROS的计划中,详细的可以看。

w1036427372的博客 2149

告别编译报错:在Ubuntu上让Anaconda和ROS Melodic/Noetic和平共处的两种实用方法

本文详细介绍了在Ubuntu系统中解决Anaconda与ROS Melodic/Noetic版本冲突的两种实用方法。通过禁用自动激活base环境或创建专用ROS虚拟环境,开发者可以有效管理Python版本冲突,确保机器人开发与数据科学项目顺利进行。文章还提供了关键诊断命令和高级排错技巧,帮助用户快速定位和解决常见问题。

weixin_27244795的博客 333

Ubuntu 18.04下基于ROS Melodic的TurtleBot3强化学习仿真环境搭建指南

本文详细介绍了在Ubuntu 18.04系统上,基于ROS Melodic为TurtleBot3搭建强化学习仿真环境的完整流程。内容涵盖ROS安装、TurtleBot3仿真包部署、Python机器学习环境配置(使用Anaconda管理TensorFlow等库),并演示了如何运行DQN算法进行避障训练。指南旨在帮助机器人学习爱好者高效构建可进行算法验证的虚拟实验平台,特别适合入门强化学习与机器人仿真。

weixin_29230865的博客 615

ROS Kinetic/Melodic用户看过来:如何为你的Anaconda Python3环境装上ROS的‘轮子’

本文详细介绍了如何在Anaconda Python3环境中整合ROS Kinetic/Melodic,解决版本冲突问题。通过配置虚拟环境和PYTHONPATH,实现Python3对ROS Python2.7包的兼容,并提供实战示例和调试技巧,帮助开发者高效进行机器人开发。

weixin_26824299的博客 361

ROS开发者必看:用conda虚拟环境管理不同Python版本,一个终端搞定Anaconda和ROS工作流

本文为ROS开发者提供使用conda虚拟环境管理不同Python版本的实用指南,解决Anaconda与ROS工作流中的版本冲突问题。通过创建专用环境隔离区和智能切换方案,实现Python 2.7与3.x的无缝整合,提升开发效率。

weixin_28733637的博客 93

melodic版本ROS使用anaconda中的python

问题引入 ROS Melodic的默认环境是python2, 最新发布的ROS noetic才完全支持python3。因此对用ROS Melodic开发项目, 同时需要使用python3编写程序的使用者造成了一定的困扰。 vscode集成编译器为ros开发提供了很大的便利,但其包含了一些特殊的使用方法如json文件等 ros主要用于机器人的开发,机器人的感知与决策往往需要使用机器学习和深度学习技术,python的第三方库(如:pytorch、tensorflow和sklearn)就提供了很大的便利,为了便

weixin_44197735的博客 1914

别再只装Gazebo了!用Anaconda创建独立Python环境,避免ROS版本冲突的完整指南

本文详细介绍了如何使用Anaconda创建独立的Python环境,避免ROS版本冲突,特别针对Gazebo的安装和配置问题提供了完整解决方案。通过环境隔离技术,开发者可以轻松管理不同ROS版本所需的Gazebo实例,提升开发效率和团队协作的一致性。

weixin_42680139的博客 293

ROS和深度学习环境共存1---Ubuntu18.04下利用conda虚拟环境实现ROS Melodic编译python3的cv_bridge踩坑全记录

众所周知ros依赖python2.7环境,而深度学习最低要求是python3.x。因此在实现的过程中我遇到很多关于ros catkin_make失败,python路径找不到,以及OpenCV-python找不到版本,cv2不能import等等问题。我自认为是由于ros和深度学习的python版本或者其他包不兼容的事情。再说一下我想要实现的目标,以及为什么非要实现。第一:我想利用conda创建一个虚拟环境,并在虚拟环境中完成ROS Melodic编译python3的cv_bridge。

LZL2020LZL的博客 1905

ROS Melodic/Noetic与Anaconda Python3和平共处指南:从虚拟环境配置到混合编译实战

本文详细解析了ROS Melodic/Noetic与Anaconda Python3的版本冲突问题,并提供了从虚拟环境配置到混合编译的完整解决方案。通过智能环境隔离系统、CV_Bridge魔改实战及IDE配置技巧,帮助开发者实现ROS与Python3生态的和平共处,特别适合需要同时处理传统机器人任务和AI模型开发的工程师。

weixin_28746223的博客 241

Unity游戏开发实战:用柏林噪声打造3D随机地形(附完整C#代码)

本文详细介绍了如何在Unity游戏开发中使用柏林噪声算法生成3D随机地形,包含完整的C#代码实现。从基础柏林噪声原理到高级参数控制,再到性能优化和常见问题解决,帮助开发者掌握程序化地形生成技术,打造丰富多变的游戏世界。

weixin_29281941的博客 99

Ubuntu ROS与Anaconda3配合使用解决py2/py3问题

前言:ros的很多命令都是基于python的文件,比如roslaunch,rospy,rospkg其实都是python文件,所以说ros基于的哪个python版本非常重要。我们运行ros命令其实就是运行这些文件。 ros-melodic

boyhoodme的博客 2661

【土壤普查实战】Python+ArcGIS随机森林模型一键生成土壤类型栅格图

本文详细介绍了如何利用Python和ArcGIS结合随机森林模型实现土壤类型栅格图的自动化生成,大幅提升土壤普查效率。通过环境准备、数据预处理、模型构建与调优等关键步骤,帮助用户掌握从样本点生成到最终栅格图输出的完整流程,适用于大面积区域或样本点较多的土壤分类任务。

weixin_29229989的博客 217

【转载】参数估计(Parameter Estimation):频率学派(最大似然估计MLE、最大后验估计MAP)与贝叶斯学派(贝叶斯估计BPE)

基础 频率学派与贝叶斯学派 http://www.douban.com/group/topic/16719644/ http://www.zhihu.com/question/20587681 最大似然估计(Maximum likelihood estimation,MLE) http://baike.baidu.com/view/1918804.htm http://baike.baidu.co

影 的专栏 3413

关于yolov5的调试环境搭建亲测有效ubuntu18.04 +ros+melodic+anaconda+pytorch+torchvision+cuda10.2+cudnn

一开始本人安装的是cuda11.4,但是发现🔛继续安装pythorch存在版本不匹配的问题,故查寻可以安装低版本的cuda10.2,此处重启的时候需要注意,系统进入的时候需要自己进行选择,不要选错,否则需要重新安装。选择cuda10.2+python38的linux系统wheel进行下载再进行安装。最近,开始接触yolov5,打算用yolov5进行ros的fe fef ff。同时如果采用命令安装,发现大部分为cpu驱动,打开链接后,网站会要求你登陆账号,下载如下。至此,cudnn安装完成。

weixin_42933461的博客 1838

littlefs系列:wear leveling

wear leveling的功能是通过block alloctor实现的。littlefs通过两个方法实现磨损均衡: 1) 检测和恢复bad blocks 2)通过dynamic blocks均衡磨损 检测和恢复bad blocks和block alloctor的关系并不紧密,主要依靠文件系统本身来检测坏块并标记。在littlefs中,检测坏块主要是通过写后回读并比较的方式实现的,如果数据不一致则说明是一个坏块。一旦检测到了坏块就要进行恢复。 如果是写入错误,因为数据才RAM中还有备份,因此需.

nstcl的博客 2567

运行roslaunch turtle_tf turtle_tf_demo.launch时出现的问题记录

这里的说法应该是我的基本环境是Python3,但是melodic中使用Python2,我突然想到自己现在在conda的base环境中。在学习ros的时候,运行小海龟的程序roslaunch turtle_tf turtle_tf_demo.launch时出现了。的方法关掉base环境中 使用which Python命令发现系统默认版本到了Python2.7。的时候会出现E:找不到不啦不啦的错误。然后运行命令就可以正常运行了。后续各种魔改安装,结果和。类似,一个个问题连续出现。

q15615725386的博客 463

如何使用rdma-core来实现RDMA操作

rdma-core 是一个开源项目,为远程直接内存访问(RDMA)提供用户空间的支持。它包括 RDMA 设备的驱动程序、库和工具,旨在简化 RDMA 应用的开发和部署。

嵌入式技术开发 3896

纯方位观测下的三维定位,IV-PLKF(Inverse Velocity-Weighted Pseudo-Linear Kalman Filter)

在现代定位系统中,纯方位观测因其无需测距设备的优势,在无线通信、无人机导航和室内定位等领域备受关注。本文深入探讨基于算法的三维定位方法,并提供完整的MATLAB仿真例程。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 672

Anaconda和ROS联合使用

需要用到ros、opencv、tensorflow(依赖于anaconda的版本)、python。之前是已有ros,在anaconda的base环境下安装了python3.6,和conda下载的tensorflow1.13.1,和源码编译的opencv及opencv_contrib。 conda base虚拟环境: gedit ~/.bashrc中的变量: # added by Anaconda3 4.3.0 installer export PATH="/home/muxi/anaconda3

qq_33970986的博客 6176

9.16华为OD机试真题 新系统 - 矩阵螺旋遍历 (Java/Py/C/C++/Js/Go)

9.16华为OD机试真题 新系统 - 矩阵螺旋遍历 (Java/Py/C/C++/Js/Go)

算法大师! 640

Ubuntu18.04配置python2和python3的ROS,并支持深度学习

Ubuntu18.04+python2和python3的ROS+Miniconda+深度学习

qq_46050419的博客 3431

部署与可视化系统:移动端跟踪系统:YOLOv8 + ByteTrack 结合 Android CameraX 实现实时行人计数 App

本文详细介绍了在Android移动端实现实时行人检测、跟踪与计数系统的完整方案。系统采用YOLOv8+ByteTrack技术栈,基于NCNN推理引擎,无需云端算力即可在手机端侧完成全流程处理。文章从技术选型、系统架构、CameraX集成等多个维度进行深入解析,重点阐述了移动端部署面临的工程挑战和优化策略。通过四层管道模型设计,实现了从图像采集到目标跟踪的高效处理流程,并采用C++ NDK开发确保性能。该系统在中端手机上可达到10FPS,旗舰机型可达30FPS,为移动端实时目标跟踪提供了可落地的解决方案。

ZXSXJ的博客 91

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ROS 使用 python3 编译 cv_bridge

确定系统自带的cv_beidge的版本号 sudo apt search cv-bridge | grep cv-bridge 输出 ros-melodic-cv-bridge/bionic,now 1.13.0-0bionic.20220127.152918 amd64 记下来版本号是 1.13.01.13.01.13.0 创建workspace mkdir -p ~/catkin_ws/src git clone https://github.com/ros-perception/vision_op

sologala的博客 3488

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 基于PyQT的数据增强GUI工具-批量处理开箱即用
下一篇: git 多密钥配置
Merokes
博客等级 码龄7年 120粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值