汇总一下在网上找到的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 ]; then
eval "$__conda_setup"
else
if [ -f "/home/"user"/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/"user"/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/"user"/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<

这时,你输入在终端输入

$ python

会看到版本号信息:

Python 3.7. (default, Mar  , ::)
[GCC 7.3.] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

明显不是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. |Anaconda, Inc.| (default, Aug  , ::)
[GCC 7.3.] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

这时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上的方法

网址:https://github.com/ros/ros/issues/149

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

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

然后就可以使用anaconda。

$ anaconda-navigator

3.  在medium上找到的方法

网址:https://medium.com/@zuxinl/ubuntu-18-04-ros-python3-anaconda-cuda-environment-configuration-cb8c8e42c68d

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

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

想要运行anaconda,就直接运行

$ condaenv

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

汇总Anaconda与ROS冲突解决方法的更多相关文章

  1. IIS上虚拟站点的web.config与主站点的web.config冲突解决方法 分类: ASP.NET 2015-06-15 14:07 60人阅读 评论(0) 收藏

    IIS上在主站点下搭建虚拟目录后,子站点中的<system.web>节点与主站点的<system.web>冲突解决方法: 在主站点的<system.web>上一级添 ...

  2. IIS上虚拟目录下站点的web.config与根站点的web.config冲突解决方法

    IIS7.5上在站点下部署虚拟目录,访问虚拟目录下的项目提示与父节点配置冲突.,节点与的<system.web>节点与主站点的<system.web>冲突解决方法: 在站点下的 ...

  3. 转:git合并冲突解决方法

    git合并冲突解决方法 1.git merge冲突了,根据提示找到冲突的文件,解决冲突 如果文件有冲突,那么会有类似的标记 2.修改完之后,执行git add 冲突文件名 3.git commit注意 ...

  4. apache与IIS共用80端口冲突解决方法

    如果同一台电脑安装了apache和iis,会提示80端口冲突,如何解决apache与iis 80端口冲突的问题呢,并且同时使用apache和iis 将apache设为使用80端口,IIS使用其它端口, ...

  5. tornado和vue的模板冲突解决方法

    tornado和vue的模板冲突解决方法 Vue的插值表达式和tornado的模板都为一对花括号,可以通过修改vue的插值表达式的符号来解决这个问题,具体方法如下: var vm = new Vue( ...

  6. 常见JS(JavaScript)冲突解决方法

    1.一般JS冲突解决办法 a.最容易出现的就是js的命名冲突 ①.变量名冲突 变量有全局变量和局部变量当全局变量变量和局部变量名称一致时,就会js冲突,由于变量传递数值或地址不同就会产生JavaScr ...

  7. Hash算法冲突解决方法分析

    采用开放定址法处理散列表的冲突时,其平均查找长度?  高于链接法处理冲突 低于二分查找 开放定址法:一旦发生冲突,就去寻找下一个空的散列地址,只要散列地址够大,空的地址总会找到 链地址法: 一旦发生冲 ...

  8. 几种访问其他域swf文件,或本地浏览器运行环境【安全沙箱】冲突解决方法

    声明: 几种方法都源自网络,我只负责汇总一下子,因为来自多方转载,也找不到初始出处了,需要的可以随意收藏,物尽其用,蛮好^_^ 对于类似的出错信息:SecurityError: Error #2148 ...

  9. git工具,conflict冲突解决方法

    这篇文章需要对git具有一定的了解,并且知道如何安装git工具(其实就是上git官网下载个文件,安装) git这种版本控制工具有什么好处 第一个,方便可以多人协同开发同一个项目或系统 第二个,当你系统 ...

随机推荐

  1. 现代C++实现多种print

    目录 Print Version1 Print Version2 Print Version3 Print Version4 容器的Print tuple容器的print 结语 学习C++的朋友会遇到 ...

  2. 【UOJ#242】【UR#16】破坏蛋糕(计算几何)

    [UOJ#242][UR#16]破坏蛋糕(计算几何) 题面 UOJ 题解 为了方便,我们假定最后一条直线是从上往下穿过来的,比如说把它当成坐标系的\(y\)轴. 于是我们可以处理出所有交点,然后把它们 ...

  3. solidity定长数组和动态数组

    固定长度的数组 固定长度数组声明 直接在定义数组的时候声明固定长度数组的值: uint[5] fixedArr = [1,2,3,4,5]; 可通过数组的length属性来获得数组的长度,进而进行遍历 ...

  4. java基础(13):static、final、匿名对象、内部类、包、修饰符、代码块

    1. final关键字 1.1 final的概念 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子 ...

  5. SpringBoot(三) 配置文件 篇章

    SpringBoot 配置文件默认为application.properties,但是本章节主要讲解yaml文件配置,因为现在的趋势是使用yaml,它是类似于标准通用标记语言的子集XML的数据描述语言 ...

  6. CSS3 过渡---transition

    过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果. 过渡动画: 是从 ...

  7. MES系统在小批量电子行业生产管理中的应用

    小批量电子产品生产管理的主要问题 电子电器制造类企业,既有单件小批量生产,也有批量生产:有按库存生产,也有按订单生产,属于典型的离散制造行业.因产品的不同其生产工艺流程也不尽相同,生产设备的布置不是按 ...

  8. IOS 11 下适配UITableView

    9月份苹果发布了IOS11和Iphone X,这一操作系统一硬件对于开发者适配上面还是造作了不少蛋疼的地方.先来看看IOS 11,这些蛋疼的需要适配的地方: 1.UIScrollView及其子类在IO ...

  9. 安卓开发笔记(三十四):Material Design框架实现优美的左侧侧滑栏

    首先我们先上图:  下面是主页面的代码,activity_main.xml: <?xml version="1.0" encoding="utf-8"?& ...

  10. JavaScript—数据可视化(ECharts)

    Echarts具有丰富的图表,可以说是数据可视化的神器: 1.下载Echarts 官网下载地址:https://echarts.baidu.com/index.html 2.Echarts引用案例—柱 ...