首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ROS旋律安装只使用Python 3,而不破坏系统库?

ROS旋律安装只使用Python 3,而不破坏系统库?
EN

Stack Overflow用户
提问于 2019-01-08 15:24:26
回答 2查看 9.7K关注 0票数 5

对程序和问题的说明:

我正在按照安装指南:

http://wiki.ros.org/melodic/Installation/Ubuntu

但是:

  1. $ sudo apt-get install ros-melodic-desktop-full不工作: 正在读取包列表...创建依赖树读取状态信息..。一些软件包无法安装。这可能意味着您已经请求了一个不可能的情况,或者如果您使用的是一些所需的包尚未创建或移出传入的不稳定发行版。以下信息可能有助于解决这种情况:以下软件包有未满足的依赖关系:ros-旋律-桌面-完整:依赖:ros-旋律-感知,但它不会被安装E:无法纠正问题,您持有破碎的软件包。->问题1。
  2. $ sudo apt-get install ros-melodic-desktop-full似乎可以工作,但它需要安装一大堆软件包(602MB)--这是我所期望的。当详细查看这些包时,我可以看到:
代码语言:javascript
复制
- More than 190 ros-something-packages: OK
- A few new libraries: OK
- More than 40 `python-<packages>` (which are definitely Python 2 packages): -> question 2.1
- More than 80 `libboost-<something-system-libraries>`: -> question 2.2

相关问题:

问题1:

你知道为什么吗?

问题2.1:

如何强制使用这些包的Python 3版本?

问题2.2:

为了其他目的,我从源代码构建boost ( 在Linux上从源代码中构建Boost )。

因此,我担心,如果我在所有这些依赖项中安装助推,那么ros附带的ros系统库(它们都是boost版本的1.65)会给我个性化安装boost库(在版本1.68中)带来麻烦,特别是当我想编译其他软件时(我更希望只有一个版本的这些库;即最新版本的1.68)。

有没有办法告诉ros使用这些已经安装好的库(基本上是在/usr/local/中)?

一般资料:

我正在使用Ubuntu18.04:4.15.0-43-generic x86_64 GNU/Linux Python3版本是:3.6.7

EN

回答 2

Stack Overflow用户

发布于 2019-02-02 15:46:38

为了使ROS系统能够工作,它需要一个最小的特定版本的依赖项。

安装时不能使用python 3,因为所有工具都是用python 2.7+制作的,但是您可以通过将ROS_PYTHON_VERSION更改为3来指定在运行或编译包时使用哪个python版本。

我认为您可以使用这个答案将编译好的源代码转换为.deb文件,并将其安装起来,以防止apt干扰您的boost库。

票数 1
EN

Stack Overflow用户

发布于 2020-06-11 14:46:34

如果你使用Anaconda,试试这个

conda create -n ros python=3.7

conda activate ros

pip install rospy rospkg

这对我有用。只要以类似的方式安装任何其他软件包,pip安装包名称就可以了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54094876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档