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

    使用虚拟环境python中不兼容的问题

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

      在使用 miniconda 创建的虚拟环境后(深度学习需要),遇到了No module named PyKDL的问题,于是网上找到了解决方法
      在bashrc中写入export PYTHONPATH="${PYTHONPATH}:/usr/lib/python3/dist-packages/"
      但是,后来发现使用open3d报错了,原因应该是使用了系统的numpy版本太低不兼容
      f6cc899a-f2ff-46a1-a351-1440be8f9df5-image.png

      想咨询下有没有好的解决方案。

      小鱼小 RongJCR 2 条回复 最后回复 回复 引用 0
      • 小鱼小
        小鱼 技术大佬 @RongJC
        最后由 编辑

        @RongJC

        方法一

        如果是为了导入某一个库,你可以只导入这一个库,用sys模块来实现即可。

        举个opencv的例子,这是我之前在手眼标定中写的代码

        import sys,os
        
        if os.path.exists('/opt/ros/kinetic/lib/python2.7/dist-packages'):
            sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages')
            import cv2
            sys.path.append('/opt/ros/kinetic/lib/python2.7/dist-packages')
        elif  os.path.exists('/opt/ros/melodic/lib/python2.7/dist-packages'):
            sys.path.remove('/opt/ros/melodic/lib/python2.7/dist-packages')
            import cv2
            sys.path.append('/opt/ros/melodic/lib/python2.7/dist-packages')
        else:
            import cv2
        

        你可以在需要PyKDL那里这样写,先添加,导入后再删掉,之后在导入其他包就不会找到这个路径了。

        sys.path.append('/usr/lib/python3/dist-packages/')
        import PyKDL
        sys.path.remove('/usr/lib/python3/dist-packages/') 
        

        另外错误最好复制粘贴,图片我想复制去搜一下都不行

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

        1 条回复 最后回复 回复 引用 0
        • RongJCR
          RongJC @RongJC
          最后由 编辑

          @RongJC 感谢大佬,下次会复制一下的

          1 条回复 最后回复 回复 引用 0
          • RongJCR RongJC 将这个主题标记为已解决,在
          • RongJCR
            RongJC
            最后由 编辑

            import rospy, sys

            PATH = "/usr/lib/python3/dist-packages/"
            if str(PATH) not in sys.path:
            sys.path.append(str(PATH))

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