• 汇总Anaconda与ROS冲突解决方法


    汇总一下在网上找到的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 ]; 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.3 (default, Mar 27 2019, 22:11:17) 
    [GCC 7.3.0] :: 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.16 |Anaconda, Inc.| (default, Aug 22 2019, 16:00:36) 
    [GCC 7.3.0] 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

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

  • 相关阅读:
    [转]Maven 初学+http://mvnrepository.com/
    比较IDEA与Eclipse
    [web] 使用Promise封装fetch实现网络超时,终止请求的功能
    [web] 理解和使用Promise.all和Promise.race
    [Web] How to Test React and MobX with Jest
    [Web 测试] Jest单元测试的几个指标
    [Web] 取消Promise
    [安全分析] 安全分析中的威胁情报(一)
    [Web] 深入理解现代浏览器
    [Web] HTML5新特性history pushState/replaceState解决浏览器刷新缓存
  • 原文地址:https://www.cnblogs.com/hgl0417/p/11562580.html
Copyright © 2020-2023  润新知