少し背景

少し背景

Raspberry PIがあり、CentOS 7を使用するにはこれが必要です。私もpapirus eInkディスプレイ(https://github.com/PiSupply/PaPiRus)

ドライバと依存関係のインストール手順はApt-Getを使用しますが、CentOSはYUMを使用します。これらの依存関係をインストールするための最良かつ簡単な方法は何ですか?

CentOSにApt-Getをインストールする方法についての指示を見ましたが、それが悪い考えであることに同意します。 YUMはCentOSではるかに優れています。

答え1

これは、いくつかの理由で2つの互換性がないため複雑な問題であるため、1つから別のものに直接変換することはしばしば面倒です。

少し背景

aptapt-get)はDebianスタイルの.dpkgパッケージとその依存関係をインストールするためのパッケージマネージャです。

yum.rpmRed Hatスタイルのパッケージとその依存関係をインストールするためのパッケージマネージャです。

dpkg.andファイルに関する議論を始める前に、.rpmより一般的な問題があります.dpkg/apt-get依存関係が見つかりますラズベリーパイこれはCentOSの依存関係と一致しません。 両方のオペレーティングシステムは異なるパッケージ名を使用するだけでなく、そのパッケージの異なるバージョンもインストールします。これは、UbuntuなどのDebianに似た他のオペレーティングシステムでもまだ問題がある可能性があることを意味します。

簡単に言えば、.dpkg/apt-getパッケージはCentOSでは役に立ちません。

複雑さが追加されました

インストールするパッケージはPythonに関連しているので、知っておくべき3番目のパッケージマネージャがあります。指す。これできるyumを使用してインストールします。ただし、yumを使用してインストールすると、新しいパッケージがリリースされたらyumを介してアップグレードすることもできます。 pipを使用する場合は、pipに定期的にアップグレードを依頼する必要があります。 yumはこれを行いません。

あなたは何ができますか?

コマンドラインから検索できます。例:yum search pil。しかし、正直なところ、私はこの仕事にGoogleを好みます。パッケージ名同義語のより多くのコンテキストを提供します。実際には、指定された依存関係を直接処理し、CentOSおよび/またはpip用の同様のパッケージを見つけること以外に選択肢はありません。正しいリストを見つけるには、Googleで多くの時間を費やす必要があります。

yumたとえば(installの代わりに使用すると仮定pip)、指示は次のとおりです。

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

私がGoogleに検索する内容は3つあります。

  1. Centos パッケージ Python pil
  2. Centos パッケージ Python smbus
  3. centos パッケージ python dateutil

最後に、yumを使用してパッケージをインストールするように指示された。

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

これは同じパッケージのフォークですが、互換性があることを願っていますpython-pilpython-pillowまたにpython-smbusなりますi2c-tools-pythonCentosの正しいパッケージ名のようです。

RPMで適切なPythonパッケージが実際に見つからない場合は、次のことを行う必要があります。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

運が良ければ、すべてのパッケージ名は同じですが、少し違いがあるかもしれません。試してみてください:)

関連情報