Python ModuleNotFoundError:没有名为';罗斯普克';

Python ModuleNotFoundError:没有名为';罗斯普克';,python,ros,rospy,cmakelists-options,Python,Ros,Rospy,Cmakelists Options,我是新手 当我将rospy导入脚本文件example.py并运行它时,我遇到了一个问题:它说: Traceback (most recent call last): File "/home/nagarjunv/hk_ws/src/rvo/src/example.py", line 4, in <module> import rospy File "/opt/ros/melodic/lib/python2.7/dist-packages/r

我是新手

当我将rospy导入脚本文件example.py并运行它时,我遇到了一个问题:它说:

Traceback (most recent call last):
  File "/home/nagarjunv/hk_ws/src/rvo/src/example.py", line 4, in <module>
    import rospy
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/__init__.py", line 49, in <module>
    from .client import spin, myargv, init_node, \
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py", line 52, in <module>
    import roslib
  File "/opt/ros/melodic/lib/python2.7/dist-packages/roslib/__init__.py", line 50, in <module>
    from roslib.launcher import load_manifest  # noqa: F401
  File "/opt/ros/melodic/lib/python2.7/dist-packages/roslib/launcher.py", line 42, in <module>
    import rospkg
ModuleNotFoundError: No module named 'rospkg'
这是我的简历:

cmake_minimum_required(VERSION 3.0.2)
project(rvo)

find_package(catkin REQUIRED COMPONENTS
  rospy
  std_msgs
  message_generation
)

 generate_messages(
   DEPENDENCIES
   std_msgs
 )

catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES rvo
  CATKIN_DEPENDS rospy std_msgs
#  DEPENDS system_lib
)

include_directories(
# include
  ${catkin_INCLUDE_DIRS}
)
这是我的xml包:

  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>rospy</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>message_generation</build_depend>
  <build_export_depend>rospy</build_export_depend>
  <build_export_depend>std_msgs</build_export_depend>
  <build_export_depend>message_generation</build_export_depend>
  <exec_depend>rospy</exec_depend>
  <exec_depend>std_msgs</exec_depend>
  <exec_depend>message_runtime</exec_depend>


我很乐意提供有关此错误的更多详细信息。请告诉我这个问题的解决方案好吗?

根据您的ROS版本和相应的
rospkg
版本,您可能需要坚持使用python 2.x或3.x

您的脚本正在调用
python3
解释器

#!/usr/bin/envpython3

但您可以在错误日志中清楚地看到,您的安装使用了不同的版本:

文件“/opt/ros/melodic/lib/python2.7/dist-packages/rospy/init.py”, 第49行,在 从.client导入spin、myargv、init_节点、\

如果你想在基于Python2.7的ROS安装中使用Python3,你需要从头开始构建一切,但即使这样,成功的机会也非常渺茫

以下是一些可能的解决方案:

  • 如果要使用Python 3,请参阅。根据本文,rosnoetic只针对python3
  • 如果不想升级,则需要坚持使用Python 2.7
  • 如果Python的版本不重要,只需调整脚本以使用ROS安装所依赖的版本即可

如果我的答案解决了您的问题,请按此标记。否则请提供更多信息。
  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>rospy</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>message_generation</build_depend>
  <build_export_depend>rospy</build_export_depend>
  <build_export_depend>std_msgs</build_export_depend>
  <build_export_depend>message_generation</build_export_depend>
  <exec_depend>rospy</exec_depend>
  <exec_depend>std_msgs</exec_depend>
  <exec_depend>message_runtime</exec_depend>

rosrun rvo example.py