鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    rospy路径出错

    已定时 已固定 已锁定 已移动 已解决
    综合问题
    ros rospy
    2
    4
    682
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 16870285121
      -
      最后由 1687028512 编辑

      运行程序时需要import rospy,发现环境中的rospy路径在/dist-packages中,而程序是在/site-packages中找的

      (base) xxx@xxx-virtual-machine:~$ python
      Python 3.8.8 (default, Apr 13 2021, 19:58:26)
      [GCC 7.3.0] :: Anaconda, Inc. on linux
      Type "help", "copyright", "credits" or "license" for more information.
      >>> import rospy
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
        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 53, in <module>
          import roslib.stacks  # noqa: F401, I100
        File "/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stacks.py", line 45, in <module>
          import roslib.packages
        File "/opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py", line 48, in <module>
          from catkin.find_in_workspaces import find_in_workspaces as catkin_find
        File "/opt/ros/melodic/lib/python2.7/dist-packages/catkin/find_in_workspaces.py", line 39, in <module>
          from catkin_pkg.packages import find_packages
      ImportError: cannot import name 'find_packages' from 'catkin_pkg.packages' (/home/xxx/anaconda3/lib/python3.8/site-packages/catkin_pkg/packages.py)
      >>>
      [1]+  已停止               python
      (base) xxx@xxx-virtual-machine:~$ pip install rospy
      Requirement already satisfied: rospy in /opt/ros/melodic/lib/python2.7/dist-packages (1.14.13)
      

      通过检索知道:
      如果是系统自带的python,会使用dist-packages目录;
      如果手动安装python,会直接使用目录site-packages
      参考:

      https://blog.csdn.net/cc1949/article/details/78286224
      

      请问这种情况应如何解决呢?

      小鱼小 1 条回复 最后回复 回复 引用 0
      • 小鱼小
        小鱼 技术大佬 @1687028512
        最后由 编辑

        @1687028512 没太理解你的意思哈,看你的错误时rospy导入时候发生错误,错误原因在catkin_pkg,也尝试降低以下catkin_pkg的版本试试,可能要和rospy匹配。

        新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

        16870285121 1 条回复 最后回复 回复 引用 0
        • 小鱼小 小鱼 将这个主题标记为已解决,在
        • 16870285121
          - @小鱼
          最后由 编辑

          @小鱼 在 rospy路径出错 中说:

          @1687028512 没太理解你的意思哈,看你的错误时rospy导入时候发生错误,错误原因在catkin_pkg,也尝试降低以下catkin_pkg的版本试试,可能要和rospy匹配。

          尝试降低catkin_pkg版本

          pip3 install catkin-pkg==0.4.16
          

          得到

          (base) xxx@xxx-virtual-machine:~$ pip3 install catkin-pkg==0.4.16
          Collecting catkin-pkg==0.4.16
            Downloading catkin_pkg-0.4.16-py3-none-any.whl (74 kB)
               |████████████████████████████████| 74 kB 311 kB/s
          Requirement already satisfied: docutils in /home/xxx/anaconda3/lib/python3.8/site-packages (from catkin-pkg==0.4.16) (0.17.1)
          Requirement already satisfied: pyparsing in /home/xxx/anaconda3/lib/python3.8/site-packages (from catkin-pkg==0.4.16) (2.4.7)
          Requirement already satisfied: python-dateutil in /home/xxx/anaconda3/lib/python3.8/site-packages (from catkin-pkg==0.4.16) (2.8.1)
          Requirement already satisfied: six>=1.5 in /home/xxx/anaconda3/lib/python3.8/site-packages (from python-dateutil->catkin-pkg==0.4.16) (1.15.0)
          Installing collected packages: catkin-pkg
            Attempting uninstall: catkin-pkg
              Found existing installation: catkin-pkg 0.4.24
              Uninstalling catkin-pkg-0.4.24:
                Successfully uninstalled catkin-pkg-0.4.24
          Successfully installed catkin-pkg-0.4.16
          

          重新执行python命令,报错解决。

          参考

          https://blog.csdn.net/weixin_41560777/article/details/122744467
          

          非常感谢小鱼的及时解答!上周因为一些事情暂停了项目,没有及时回复,在这里说声抱歉~我又肥来啦~

          小鱼小 1 条回复 最后回复 回复 引用 0
          • 小鱼小
            小鱼 技术大佬 @1687028512
            最后由 编辑

            @1687028512 👍

            新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

            1 条回复 最后回复 回复 引用 0
            • 第一个帖子
              最后一个帖子
            皖ICP备16016415号-7
            Powered by NodeBB | 鱼香ROS