LoginSignup
0
0

More than 1 year has passed since last update.

QMKでのImportErrorの解決メモ

Last updated at Posted at 2022-08-01

QMKコマンドがエラーで通らない

qmkコマンドを打つと以下のエラーが出てしまう状況。qmk --helpでもqmk compileでも同じエラーが出る。

% qmk
Error: %s: %s ('ImportError', ImportError('dlopen(/usr/local/Cellar/qmk/1.1.0/libexec/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so, 2): Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib\n  Referenced from: /usr/local/Cellar/qmk/1.1.0/libexec/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so\n  Reason: image not found'))
Traceback (most recent call last):
  File "/usr/local/Cellar/qmk/1.1.0/libexec/lib/python3.9/site-packages/qmk_cli/script_qmk.py", line 76, in main
    import qmk.cli  # noqa
  File "/Users/yuta/qmk_firmware/lib/python/qmk/cli/__init__.py", line 238, in <module>
    __import__(subcommand)
  File "/Users/yuta/qmk_firmware/lib/python/qmk/cli/painter/__init__.py", line 1, in <module>
    from . import convert_graphics
  File "/Users/yuta/qmk_firmware/lib/python/qmk/cli/painter/convert_graphics.py", line 7, in <module>
    from qmk.painter import render_header, render_source, render_license, render_bytes, valid_formats
  File "/Users/yuta/qmk_firmware/lib/python/qmk/painter.py", line 6, in <module>
    from PIL import Image, ImageOps
  File "/usr/local/Cellar/qmk/1.1.0/libexec/lib/python3.9/site-packages/PIL/Image.py", line 132, in <module>
    from . import _imaging as core
ImportError: dlopen(/usr/local/Cellar/qmk/1.1.0/libexec/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so, 2): Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib
  Referenced from: /usr/local/Cellar/qmk/1.1.0/libexec/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so
  Reason: image not found

環境

macOS Catalina
バージョン 10.15.7
qmkのインストールは公式のチュートリアル通りbrew install qmk/qmk/qmkにて実施した。

解決方法

以下コマンドでlibjpegをインストールしたらエラーが出なくなった。

% brew install libjpeg

エラーのここがポイントだったようで、libjpegをインストールする前は当該パスが存在していなかった。

2): Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib\n

libjpegをインストールしようと思ったきっかけは、近しい課題が以下にあったかた。こちらを参考に上記の解決策に至った。
https://stackoverflow.com/questions/50273061/dyld-library-not-loaded-usr-local-opt-jpeg-lib-libjpeg-9-dylib-opencv-c-mac

余談

最初はPillowが読み込めないエラーだと思い、pip install pillowpip3 install pillowなど試していたが全然間違ってた。pythonコマンドでpython2が動くようになっており、python2にはpillowがインストールされていなかったので、aliasでpythonでpython3を読み出すようにもしたがそれも意味はなかった。やっぱりエラーをちゃんと読むのは大事だなと痛感した。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0