为什么我不能在Google Colab中导入python-rosbag?

时间:2019-06-28 23:39:21

标签: python ros google-colaboratory

我正在尝试使用Google Colab运行在Ubuntu上开发的https://github.com/ARiSE-Lab/deepTest深度神经网络软件。 我能够进行较小的修改即可运行install.sh。 在添加“!”后,我成功加载了

!须藤apt-get install python-rosbag    !须藤apt-get install python-genmsg    !须藤apt-get install python-genpy    !须藤apt-get install python-rosgraph-msgs1 这安装了许多文件,包括:

Setting up python-rosbag (1.13.5+ds1-3) ...

但是,当我运行程序generate_hmb3.py时,其第二行是:

import rosbag

我收到了无效的语法错误消息。当我将行更改为:

import python-rosbag

我收到消息:

  File "<ipython-input-12-37a7e266f3af>", line 7
import python-rosbag
             ^
SyntaxError: invalid syntax

对这个问题有什么解决办法吗?

2 个答案:

答案 0 :(得分:0)

导入问题

确保已设置Python路径,该路径应通过source命令来完成。您可以通过

轻松检查正确的路径
echo $PYTHONPATH
# which gives me
/opt/ros/kinetic/lib/python2.7/dist-packages

导入带破折号的模块:

在python的导入名称(ref)中不允许使用破折号。而且没有称为python-rosbag的标准模块。据我所知,只有rosbag。如果它是您自己的书面模块,则可以使用__import__()来完成。例如:

foobar = __import__("foo-bar")

但是您确实应该重命名模块。

答案 1 :(得分:0)

我尝试了一堆不同的方法*,我认为这仍然是ros仍使用python 2.7的问题。

我实际上无法使它按预期工作,但是使用https://github.com/event-driven-robotics/importRosbag对我有用。

*就像添加python2.7的路径并弄乱importlib和imp一样。无法正常工作;我收到错误消息AttributeError: module 'rospy' has no attribute 'names'