运行 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
已在其中获取),它应该可以工作。
我正在尝试 运行 使用 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
已在其中获取),它应该可以工作。