Pythonでエラーなく落ちる(Pillowのバージョン変更で対応)


状態の概要

VSCodeでF5で実行してみて、エラーも何も出ずに終了してしまう問題。自分はPyAutoGUIで起きました。

解決策

自分の場合はPillow==8.3.1が悪さをしているみたいなので、バージョンを少し戻してみればOK。

pip install Pillow==8.3

解決にいたるまで

コメントを入れながらデバッグしていると、importのところで問題が起きてるっぽい。深く追ってみると、Pillowの中でエラーが起きている...

# import先のimport先の...と追っていくときに便利なコード
print(f'##{__file__}################################')

追っていくと、原因の箇所は以下のようなコードになっている模様。
from . import _imagingft as coreのところでダメになる。
ImportErrorにも引っかからないし、except Exception as e:の中でtraceback.print_exc()をしても引っかかってくれない。

ImageFont.py(47-50行目、問題の箇所)
try:
    from . import _imagingft as core
except ImportError:
    core = _imagingft_not_installed()

_imagingftはバイナリファイルらしく、VSCodeで開けなかった。
8.3.1と8.3.0ではコードが変わらないので、_imagingftのファイル内の変更が影響してるんだろうな...