我一直在使用roslib.load_manifest(Python,ROS)获得语法错误

时间:2015-02-06 20:10:48

标签: python git bash ros

每当我想运行我的程序时,我都面临着一个突破性的错误。我的团队成员使用相同的代码,但没有收到错误。我第一次收到错误时,我要求我的团队成员通过git提交他的代码(与我的完全相同)并将其拉入。程序运行没有错误。但是,即使我从同事那里通过git获取代码(适用于他们),问题仍然存在。这是代码:

#!/usr/bin/env  python
import roslib;  roslib.load_manifest('drone7_project')
import rospy
# bunch of other import statements

每当我运行程序时,这就是我收到的错误:

/ bin / bash /home/user/Projects/catkin_ws/src/drone7_project/Project/drone_program.py /home/user/Projects/catkin_ws/src/drone7_project/Project/drone_program.py:line 2:意外令牌"drone7_project"' /home/user/Projects/catkin_ws/src/drone7_project/Project/drone_program.py: line 2:附近的语法错误导入roslib; roslib.load_manifest(" drone7_project&#34)'

drone7_project包存在且不应该是问题。我不应该得到语法错误,因为我的所有其他团队成员都没有得到它(4个成员),而且我们使用完全相同的代码。

注意使用单引号和双引号错误会在drone7_project周围返回,而在代码中只使用单引号。我试过双引号,同样的问题。

1 个答案:

答案 0 :(得分:0)

您没有使用Python解释器执行Python代码(相反,您的shell希望运行该代码,这会产生您正在观察的语法错误)。您是否检查了系统中/usr/bin/env python实际返回的内容?

您必须正确设置PATH,以便它包含一个目录,其中包含您要运行Python脚本的Python解释器的可执行文件。

另一种方法是显式调用选择的Python解释器,并提供Python脚本的路径作为参数,如

$ /path/to/python27 /home/user/Projects/catkin_ws/src/drone7_project/Project/drone_program.py