[ トップページ ]
情報通信博物館:MacBook, 数学・計算・情報学・プログラミング:プログラミングとコンパイラ

Arm64 と X86_64 の環境で混乱する M2 MacBook の PIL/Pollow

M2 MacBook の Python 環境をととのえるのがむずかしい. ときどき Arm64 と X86_64 の環境が混在しているといわれて,import に失敗する.

一度はこの問題を解決していたはずなのだが,最近,MacBook の SSD を初期化する必要があったために,また復活してしまった. ようやくなおすことができたので,どうやってなおしたのか,ここに書いておくことにする.

PIL または Pillow といわれる画像処理のライブラリがある. Python 専用ではないが,Python でつかうひとが多いとかんがえられる. これをインストールするとき,つぎのようなコマンドをつかいがちだが,これで失敗する.

pip install Pillow # または pip3 install Pillow

M2 Mac であり,Python は Arm64 用のがインストールされているので,上のコマンドによって当然 M1/M2 用のライブラリがインストールされるとかんがえてのことだ. しかし,どうもそれとはちがって,x86_64 用がインストールされたようだ. さらに,この状態で PIL とともにつかう imagehash というライブラリをインストールしたが,これも x86_64 用がインストールされたようだ (このあたり,記憶にたよって書いているので,すこしちがうかもしれない).

この状態で PIL や imagehash を import すると,エラーがでて実行できない. PIL に問題があることがわかったので,それをインストールしなおした.

pip uninstall pillow
arch -arm64 pip install pillow

しかし,それだけでは解決しなかった.PIL はつかえるが imagehash がつかえない. imagehash を単純にインストールしなおしてもうまくいかない. ChatGPT に解決策をきいた結果,つぎのように Python をインストールしなおせばよいことがわかった.

brew install python
pip install imagehash

M1/M2 Mac は高速かつ低消費電力でありがたいが,こういうめんどうな問題がある.

キーワード:

トラックバック

このエントリーのトラックバックURL:
https://www.kanadas.com/mt/mt-tb.cgi/7808

コメントを投稿

Google でブログを検索:

メインページアーカイブページも見てください.
Creative Commons License
このブログはつぎのライセンスで保護されています. クリエイティブ・コモンズ・ライセンス.
Powered by Movable Type