我正在遵循安装指南:
http://wiki.ros.org/melodic/Installation/Ubuntu
但是:
$ sudo apt-get install ros-melodic-desktop-full
不起作用:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
ros-melodic-desktop-full : Depends: ros-melodic-perception but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
->问题1。
$ sudo apt-get install ros-melodic-desktop-full
似乎可以正常工作,但是它需要安装一整堆软件包(602 MB)-我对此有些期待。详细查看这些软件包时,我可以看到:
超过190种ros-something-packages:好
一些新库:确定
超过40个python-<packages>
(肯定是Python 2软件包):->问题2.1
超过80个libboost-<something-system-libraries>
:->问题2.2
你知道为什么吗?
如何强制使用这些软件包的Python 3版本?
出于其他目的,我从资源(Building Boost from sources on Linux)中获得了提升。
因此,我担心如果我在安装具有所有这些依赖项的ros时,ros
附带的boost系统库(都是增强版本 1.65 )会弄乱我的个性化安装boost库(版本 1.68 ),尤其是当我想编译其他软件时(我更喜欢只拥有这些lib的一个版本;即最新的1.68)。
有没有办法告诉ros
使用这些已经安装的库(基本上在/usr/local/
中)?
我正在使用Ubuntu 18.04:4.15.0-43-generic x86_64 GNU/Linux
Python 3版本为:3.6.7
答案 0 :(得分:1)
为了对ROS系统到作品,它至少特定版本需要的依赖关系。
您无法在安装中使用python 3,因为所有工具都是使用python 2.7+制作的,但是您可以通过将ROS_PYTHON_VERSION
更改为3来指定运行或编译软件包时要使用的python版本。
我认为您可以使用This Answer将已编译的源代码转换为.deb
文件并重新安装,以防止apt干扰您的boost库。
答案 1 :(得分:0)
如果您使用Anaconda,请尝试
conda create -n ros python=3.7
conda activate ros
pip install rospy rospkg
这对我有用。 只需以类似的方式安装任何其他软件包pip install package-name