Anaconda|Anaconda与ROS共存问题

问题描述

在安装Anaconda后

$ cd ~/catkin_ws
$ catkin_make
  • 1
  • 2

编译报错

ImportError: No module named rospkg
  • 1

问题分析

刚开始以为rospkg出了差错,使用以下命令查错。

$ sudo apt-get install python-rospkg
  • 1

发现rospkg包已经更新到最新版本,那么就基本排除ROS本身Python包出错的可能性。

又想到,安装Anaconda时有

Do you wish the installer to prepend the Anaconda2 install location to PATH in your /home/tingting/.bashrc ? [yes|no]

此处应该是在环境变量中加了什么奇怪的东西影响到ROS的环境变量。为了探究明白,查看环境变量。

$ echo $PATH
  • 1

结果如下

/home/hanxy/anaconda2/bin:/opt/ros/indigo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
  • 1

查看~/.bashrc文件

$ sudo gedit ~/.bashrc
  • 1

发现文件末尾有Anaconda添加的$PATH变量

$ export PATH=/home/hanxy/anaconda2/bin:$PATH
  • 1

解决方法

初步解决

想要快速解决很简单,注释掉上述导入环境变量的语句,但同时Anaconda内的包不能正常使用,因此每次开启终端都应该输入上述语句,以获得Anaconda的环境变量。
但这样在Anaconda中仍然无法使用ROS包,在ROS中也无法使用Anaconda的包,这将是很大的损失。

彻底解决

无法在Anaconda中导入ROS包归根结底是由于没有相应的包,因此

$ conda install setuptools
$ pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools
  • 1
  • 2
$ hanxy@hanxy-Ubuntu:~$ python
Python 2.7.14 |Anaconda, Inc.| (default, Oct 16 2017, 17:29:19) 
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>> import rospkg
>>> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

同时导入tensorflow和rospkg成功~


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值