ros调用anaconda的python3_汇总Anaconda与ROS冲突解决方法

本文汇总了解决Anaconda与ROS中Python版本冲突的三种方法:1) 使用conda创建ROS专用的Python2.7环境并激活;2) 在使用Anaconda时临时修改PATH;3) 创建condaenv别名来切换环境。每种方法都有其适用场景和注意事项。
摘要由CSDN通过智能技术生成

汇总一下在网上找到的Anaconda与ROS冲突解决方法,如果还有其他人找到其他方法,欢迎留言。

anaconda和ros的安装就不介绍了。

1. 在某视频网站上一个印度小哥提出的方法

安装完成后,在.bashrc/会出现:

# >>> conda initialize >>>#!! Contents within this block are managed by 'conda init' !!__conda_setup="$('/home/“user”/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"

if [ $? -eq 0 ]; theneval"$__conda_setup"

else

if [ -f "/home/"user"/anaconda3/etc/profile.d/conda.sh" ]; then."/home/"user"/anaconda3/etc/profile.d/conda.sh"

elseexport PATH="/home/"user"/anaconda3/bin:$PATH"

fi

fiunset __conda_setup

#<<< conda initialize <<<

这时,你输入在终端输入

$ python

会看到版本号信息:

Python 3.7.3 (default, Mar 27 2019, 22:11:17)

[GCC7.3.0] :: Anaconda, Inc. on linux

Type"help", "copyright", "credits" or "license" for moreinformation.>>>

明显不是ROS需要的Python版本,ROS的Python版本为2.7。印度小哥的思路是anaconda可以建立Python2.7的环境,然后在那个环境中运行ROS。

$ conda create -n ros_env python=2.7 anaconda

建立名为ros_env的环境之后,需要安装许多插件,安装完成后,加载环境:

source activate ros_env

这时,在查看python的版本变为:

Python 2.7.16 |Anaconda, Inc.| (default, Aug 22 2019, 16:00:36)

[GCC7.3.0] on linux2

Type"help", "copyright", "credits" or "license" for moreinformation.>>>

这时import rospy会报错,原因是由于rospkg没有安装,在ros_env的环境下安装rospkg

$ pip install -U rospkg

安装成功后,import rospy 以及 import rospkg都没有问题了。

总结:这个方法很好用,就是在使用ros之前需要进入ros_env环境,相对比较方便。当然,也可以将source activate ros_env加入到.bashrc,这样做不推荐,因为这样做默认的环境变为python2.7的版本,如果想要python3以上的版本会有问题。

2. 在ROS的github上的方法

这个方法很简单,屏蔽掉.bashrc中关于anaconda的设置,每次使用anaconda时,在终端中输入

$ export PATH="/home/"user"/anaconda3/bin:$PATH"

然后就可以使用anaconda。

$ anaconda-navigator

3.  在medium上找到的方法

该方法与上面的方法效果完全一样,屏蔽掉.bashrc中关于anaconda的设置,在.bashrc中加入

$ alias condaenv=”export PATH=”/home/"user"/anaconda3/bin:$PATH””

想要运行anaconda,就直接运行

$ condaenv

如果还有更好的方法,希望大家留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值