はじめに
Raspberry Pi に pip でパッケージをインストールする際、ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE.
というエラーが発生することがあります。
これは、ダウンロードしようとしているパッケージのハッシュ値が、期待される値と一致しないために起こります。
この記事では、face_recognition のインストール時に発生したこのエラーの解決策として、wget
コマンドを使ってパッケージを手動でダウンロードし、インストールする方法を紹介します。
エラー内容
pip install時に以下のようなエラーが発生しました。
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
face-recognition-models>=0.3.0 from https://www.piwheels.org/simple/face-recognition-models/face_recognition_models-0.3.0-py2.py3-none-any.whl#sha256=8d6b0af2e37a17120c3f13107974bc252142a4ffcb4e58eabdfcf26608e52c24 (from face_recognition):
Expected sha256 8d6b0af2e37a17120c3f13107974bc252142a4ffcb4e58eabdfcf26608e52c24
Got 1e7cd2fe9bba3ecf96e311623dfcc3b9d1d3405a2c6c5147bfe71401ed536c08
こちらの記事を参考に、--no-chache-dir
オプションをつけても同様のエラーが発生しました。
解決策
-
パッケージを手動でダウンロードする
https://pypi.org/project/face-recognition/#files
から、インストールしたい.whl
ファイルの URL をコピーします。
そして、コピーしたURLを使い、wget
コマンドを使ってパッケージを手動でダウンロードします。(env) hoge@hogehoge:~/tmp $ wget <コピーした.whlファイルのURL>
-
ダウンロードしたパッケージを確認する
ダウンロードした
.whl
ファイルが確認できるか、ls
コマンドで確認します。(env) hoge@hogehoge:~/tmp $ ls face_recognition-1.3.0-py2.py3-none-any.whl #<- ダウンロードしたファイル名
-
ダウンロードしたパッケージをインストールする
ダウンロードした
.whl
ファイルを、pip install
コマンドでインストールします。(env) hoge@hogehoge:~/tmp $ pip install face_recognition-1.3.0-py2.py3-none-any.whl
関連パッケージでも同様のエラーが発生する場合は、上記の手順を繰り返します。
まとめ
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE.
エラーは、パッケージのハッシュ値の不一致が原因で発生します。
手動でパッケージをダウンロードし、インストールすることでこのエラーを解決できます。