汇总一下在网上找到的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. nodejs通过钉钉群机器人推送消息

    nodejs 通过钉钉群机器人推送消息 Intro 最近在用 nodejs 写爬虫,之前的 nodejs 爬虫代码用 js 写的,感觉可维护性太差,也没有智能提示,于是把js改用ts(typescri ...

  2. 读Xamarin文档记录

    //怎样判断Wifi是否连接if (Connectivity.NetworkAccess == NetworkAccess.None) { ... } 连接改变的事件,判断事件改变后是否还处于连接状态 ...

  3. PlayJava Day008

    今日所学: /* 2019.08.19开始学习,此为补档. */ 1.包装类:对基本数据类型进行封装,使其具有属性和方法. Integer s1 = new Integer(123) ; Intege ...

  4. Maven项目 - OpenFeign使用细节 - 从此和httpClient说再见

    maven项目使用openfeign,从此和httpClient说拜拜 pom.xml: <dependency> <groupId>io.github.openfeign&l ...

  5. XML的互相序列化对象

    using System.Xml.Serialization; using System.IO; using System.Xml; namespace Common { public class X ...

  6. grep命令提示"binary file matches **.log"解决方法

    仔细想想,这个问题遇到很多次了,之前一直以为很复杂,一搜索发现解决这么简单,记录一下做备忘. grep test XXX.log Binary file app.log matches 此时使用-a参 ...

  7. Python工具库分享

    漏洞及渗透练习平台: WebGoat漏洞练习平台: https://github.com/WebGoat/WebGoat webgoat-legacy漏洞练习平台: https://github.co ...

  8. gitlab从开发分支合并代码到master分支

    你敢相信这是个码农? 新项目开发完成,代码要封版.开发分支是dev,将代码合并到master时可费了劲儿了,上周我们几个同事前前后后折腾了两天,还是有问题. 今天上完线必须要封版了.所以务必得搞定. ...

  9. 配置同时使用 Gitlab、Github、Gitee(码云) 共存的开发环境

    首先确认已安装Git,可以通过 git –version 命令可以查看当前安装的版本. Mac OSX 中都已经安装了Git.但是,Git的版本未必是最新的. 可以通过命令 git clone htt ...

  10. Node.js—基本知识

    一.第一个Node代码 1. 运行Node.js   通过node E:\Node代码\hello.js运行代码:Node.js是服务器的程序,写的js语句都将运行在服务器上.返回给客户的,都是已经处 ...