一点背景

一点背景

我有一个 Raspberry PI,需要它才能使用 CentOS 7。我还尝试使用 papirus eInk 显示屏(https://github.com/PiSupply/PaPiRus

驱动程序和依赖项安装说明使用 Apt-Get,但 CentOS 使用 YUM。安装这些依赖项的最佳/最简单方法是什么?

我看过有关如何在 CentOS 上安装 Apt-Get 的说明,但一致认为这是一个坏主意。 YUM 在 CentOS 上要好得多。

答案1

这是一个复杂的问题,因为两者由于多种原因不兼容,因此从一种到另一种的直接转换通常非常棘手。

一点背景

apt( apt-get) 是一个包管理器,用于安装 Debian 风格的.dpkg包及其依赖项。

yum是一个包管理器,用于安装红帽.rpm风格的包及其依赖项。

在您开始讨论 .dpkg.rpm文件存在一个更普遍的问题,.dpkg/apt-get依赖关系将被找出树莓派这些与 CentOS 的依赖项不匹配。 这两个操作系统不仅使用不同的软件包名称,而且还安装了各自软件包的不同版本。这意味着即使在其他类似 Debian 的操作系统(例如 Ubuntu)上,您也可能仍然遇到问题。

简而言之,.dpkg/apt-get包在 CentOS 上对你没有用处。

增加了复杂性

由于您尝试安装的包与 python 相关,因此需要注意第三个包管理器:。这与 yum 一起安装,但请记住,当您使用 yum 安装时,您还允许 yum 在有新软件包可用时升级这些软件包。使用 pip,您需要要求 pip 定期升级,因为 yum 不会为您执行此操作。

你能做什么?

您可以尝试在命令行上搜索:例如yum search pil。但老实说,我更喜欢谷歌来完成这项任务。它为您提供了有关包名称同义词的更多上下文。您实际上没有太多选择,只能自己处理指定的依赖项并为 CentOS 和/或 pip 找到类似的软件包。这将需要在 Google 上花费大量时间来制定正确的列表。

例如(假设您使用yum而不是安装pip),指令为:

sudo apt-get install python-pil python-smbus python-dateutil -y

在这里我会谷歌搜索三件事:

  1. centos 包 python pil
  2. centos 包 python smbus
  3. centos 包 python dateutil

最终引导我使用 yum 安装软件包:

yum install python-pillow i2c-tools-python python-dateutil 

请注意,python-pil变成了python-pillow.这是同一软件包的一个分支,但希望能够兼容。另请注意,python-smbus变成了i2c-tools-python. 这似乎是 Centos 上正确的包名称

如果你真的找不到合适的 python 包作为 RPM 那么你可能不得不这样做使用 pip 安装它

如果这不起作用

正如我之前提到的,包版本可能不匹配,这意味着依赖项失败。当你安装了所有可以安装的东西后,它仍然无法工作。您的下一步应该是返回软件维护人员(在 GitHub 上)并询问他们礼貌地如果他们愿意的话帮助您找出 CentOS 的依赖关系。

答案2

我想给你带来麻烦的部分是这样的:

# Install dependencies
sudo apt-get install git bc i2c-tools fonts-freefont-ttf whiptail make gcc -y
# For Python 2
sudo apt-get install python-pil python-smbus python-dateutil -y
# For Python 3
sudo apt-get install python3-pil python3-smbus python3-dateutil -y

首先,我建议确保安装了 epel-release(yum 的附加存储库):

yum -y install epel-release

现在您可以搜索每个软件包的等效项并安装它:例如:

yum search i2c

给我:

i2c-tools.x86_64 : A heterogeneous set of I2C tools for Linux
i2c-tools-eepromer.x86_64 : Programs for reading / writing i2c / smbus eeproms
i2c-tools-python.x86_64 : Python bindings for Linux SMBus access through i2c-dev

幸运的是,该包具有相同的名称;我可以这样运行:

yum install i2c-tools

如果你幸运的话;所有包名称都相同;但也可能有些不同。尝试一下:)

相关内容