运行 python 脚本时出错

Error when running a python script

我正在尝试 运行 使用 tkinter 创建的界面的脚本。我有一个执行脚本的按钮,代码是:

subprocess.call("python3 " + PATH_TO_SCRIPTS + "main.py 1 &", shell=True)

但是,按下此按钮时出现以下错误。

Traceback (most recent call last):
    File "/home/m//PycharmProjects/ROSAutonomousFlight/catkin_ws/src/ardrone_numeric_method_controller/scripts/main.py", line 17, in <module>
      from controller import *
    File "/home/m/PycharmProjects/ROSAutonomousFlight/catkin_ws/src/ardrone_numeric_method_controller/scripts/controller.py", line 5, in <module>
      import rospy

说rospy模块不存在,但是当我运行 导入 rospy 使用 python 或 python3 导入成功。我能做些什么来解决这个问题?我正在使用 Ubuntu.

您的问题的评论主要是关于 Python,但我想这更多是 ROS 问题。

您不必手动设置 PYTHONPATH 来查找 rospy,但您必须获取 catkin 工作区的 setup.bash(否则 ROS 工具的 none找到了)。

通常这是通过添加类似

的内容来完成的
source ~/catkin_ws/devel/setup.bash

.bashrc。这适用于 运行 在终端 .

中的所有内容

我不知道您是如何启动您的脚本的,但由于它提供了一个图形界面,您可能只是 运行 通过在文件浏览器中双击它来启动它?如果您确实这样做了,脚本在终端中是 not 运行,因此无法找到 ROS 模块。 运行 来自终端的脚本(setup.bash 已在其中获取),它应该可以工作。