2

我将如何在 Pepper 上安装东西,因为我不知道它使用什么包管理器。我通常在我的 Ubuntu 机器上使用 apt 并想在 Pepper 上安装一些软件包。我不确定 Pepper 有什么包管理器(如果有的话)并且想要安装一些包,但也只知道使用 apt 的包的名称(不确定包名在其他包管理器上是否相同)。如果可能的话,我可以在 Pepper 上安装 apt 吗?谢谢。

注意:根据我所做的研究,Pepper 使用的是基于使用 portage 的 Gentoo 的 NaoQi。

4

6 回答 6

6

您在 Pepper 上没有 root 访问权限,这限制了您可以安装的内容(而且 apt 无论如何都不在机器人上)。

一些可能性:

  • 在 Choregraphe 项目中包含您的内容 - 当您安装一个包时,会安装整个目录结构(更准确地说,是 .pml 中列出的内容);因此您可以在机器人上放置任意文件,并且通常可以包含代码所需的任何依赖项。
  • 使用 pip 安装 python 包。

在 NAOqi 2.5 中,安装了一个稍旧的 pip 版本,它并不总是开箱即用;我建议升级它:

pip install --user --upgrade pip

...然后您可以使用升级的 pip 安装其他软件包,使用升级的 pip,并且始终使用 --user:

/home/nao/.local/bin/pip install --user whatever-package-you-need

但是请注意,如果您这样做并在 Pepper 上运行的代码中使用您的包,那么在您对其他机器人执行 pip 之前,该代码将无法在其他机器人上运行,这就是为什么我通常只为测试这样做;对于生产代码,我更喜欢将所有依赖项打包在我的应用程序包中。

于 2018-01-23T11:22:43.527 回答
1

如果您需要使用 Gentoo Prefix 安装软件(或只是较新版本的软件),作为一种解决方法是一种选择。

Gentoo Prefix在任何位置(不需要根目录,可以是任何文件夹)构建一个 Gentoo 操作系统。它包括它自己的portage(包管理器)来安装新软件。

我维护了一些与 Pepper 合作的项目,并使用我想要的“任何”软件。请注意,它们是为 64b (amd64) 和 32b (x86) 构建的,尽管对于 Pepper 来说只有 32b 重要。

  • gentoo_prefix_cigentoo_prefix_ci_32b每晚构建 Gentoo 前缀系统的引导程序。这是一个需要一段时间才能编译的过程(3-6 小时,具体取决于您的机器),并且会不时中断(随着上游软件包的更新和错误的发现,Gentoo 是一个滚动发行版)。可以在“发布”部分找到每晚更新的准备使用的二进制图像。
  • 对于想要在机器人上运行它的 ROS 用户,基于之前的工作,我还维护了 ros_overlay_on_gentoo_prefixros_overlay_on_gentoo_prefix_32b他们使用ros-overlay在 Gentoo Prefix 上提供带有二进制版本的 ROS Kinetic 和 ROS Melodic 的夜间构建。您可以找到现成的“ros_base”和“desktop”版本。
  • 出于与使用 Pepper 机器人的 RoboCup@Home 社交标准平台联盟相关的目的,我还维护了一个包含许多附加软件的特定构建。这个项目被称为pepper_os,它构建了270多个ROS包、大量Python包(250多个包括Theano、dlib、Tensorflow、numpy...)以及构建这些所需的所有必要依赖项(750多个包)。请注意,基本映像(它是用 Docker 构建的)是实际的 Pepper 2.5.5.5 映像,因此它可以像在真实机器人中一样用于调试(尽管没有传感器等)。

也许这种方法或这些项目很有用。

于 2020-03-29T05:50:27.953 回答
0

如果它基于 Gentoo,也许我们可以尝试portage使用pip.

pip install portage

只是一个想法。

于 2021-06-08T11:02:45.703 回答
0

Pepper 上的包管理器已禁用。但是您可以将文件复制到机器人并编写自己的服务来导入您可能需要的任何包。

作为导入的补充: http ://www.about-robots.com/how-to-import-python-files-in-your-pepper-apps.html

于 2018-01-23T09:09:49.797 回答
0

摆脱

InsecurePlatformWarning:真正的 SSLContext 对象不可用。

安装

/home/nao/.local/bin/pip install --user requests[security]

摆脱:

CryptographyDeprecationWarning:不推荐对您的 Python 版本的支持。

安装

/home/nao/.local/bin/pip install --user cryptography==2.2.2
于 2019-01-09T08:42:38.637 回答
0

摆脱错误:

“ SSL3_GET_SERVER_CERTIFICATE:证书验证失败”。

如果您使用 python 和requests包,只需verify=False在参数末尾添加即可。

r=requests.get(URL,params,header,verify=False)

和我的 Pepper 一起工作

于 2018-12-07T14:10:23.220 回答