Немного предыстории

Немного предыстории

У меня есть Raspberry PI, который мне нужен для использования CentOS 7. Я также пытаюсь использовать дисплей Papirus eInk (https://github.com/PiSupply/PaPiRus)

Инструкции по установке драйверов и зависимостей используют Apt-Get, но CentOS использует YUM. Какой лучший/самый простой способ установить эти зависимости?

Я видел инструкции по установке Apt-Get на CentOS, но все сходятся во мнении, что это плохая идея. YUM гораздо лучше на CentOS.

решение1

Это сложная проблема, поскольку эти два понятия несовместимы по ряду причин, и поэтому прямое преобразование одного в другой, как правило, весьма затруднительно.

Немного предыстории

apt( apt-get) — менеджер пакетов для установки .dpkgпакетов в стиле Debian и их зависимостей.

yumменеджер пакетов для установки .rpmпакетов в стиле Red Hat и их зависимостей.

Прежде чем вы начнете обсуждать прямые проблемы совместимости между файлами . dpkgи .rpm, есть более общая проблема, для которой .dpkg/ apt-getзависимости будут выясненыМалиновый. Они не будут соответствовать зависимостям для CentOS. Эти две операционные системы не только используют разные имена пакетов, но и имеют разные версии соответствующих установленных пакетов. Это означает, что даже в другой операционной системе типа Debian, например Ubuntu, у вас все еще могут возникнуть проблемы.

Короче говоря, пакеты .dpkg/ apt-getне будут вам полезны на CentOS.

Добавленное усложнение

Поскольку пакет, который вы пытаетесь установить, связан с Python, есть третий менеджер пакетов, о котором следует знать:пип. Этотможетбыть установлены вместе с yum, но помните, что при установке с yum вы также позволяете yum обновлять эти пакеты по мере появления новых. С pip вам нужно будет периодически просить pip обновляться, потому что yum не будет делать этого за вас.

Что ты можешь сделать?

Вы можете попробовать выполнить поиск в командной строке: например yum search pil. Но, честно говоря, я предпочитаю Google для этой задачи. Он дает вам гораздо больше контекста для синонимов имен пакетов. У вас на самом деле нет особого выбора, кроме как самостоятельно проработать именованные зависимости и найти похожие пакеты для CentOS и/или pip. Это потребует много времени в Google, чтобы составить правильный список.

Например (предполагая, что вы устанавливаете с помощью yum, а не pip), инструкция:

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

Здесь я бы поискал в Google три вещи:

  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

Если вам повезет, все названия пакетов будут одинаковыми, но некоторые могут отличаться. Просто попробуйте :)

Связанный контент