環境
macOS ventura 13.2
Python 3.12.4
japanize-matplotlib 1.1.3(pip)
Errorの内容
Traceback (most recent call last):
File "/Users/myname/Library/Mobile Documents/com~apple~CloudDocs/_program_ver3124/年金関連/main.py", line 3, in <module>
import japanize_matplotlib #日本語化モジュール
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/myname/.pyenv/versions/3.12.4/lib/python3.12/site-packages/japanize_matplotlib/__init__.py", line 1, in <module>
from japanize_matplotlib.japanize_matplotlib import japanize, get_font_path, get_font_ttf_path
File "/Users/myname/.pyenv/versions/3.12.4/lib/python3.12/site-packages/japanize_matplotlib/japanize_matplotlib.py", line 5, in <module>
from distutils.version import LooseVersion
ModuleNotFoundError: No module named ‘distutils'
原因
このエラーは、distutilsモジュールが見つからないために発生しています。
distutilsはPythonの標準ライブラリの一部ですが、Python 3.12からは別のパッケージとして提供されるようになりました。そのため、手動でインストールする必要があります。
distutilsの廃止と統合:Python 3.12以降、distutilsはPython標準ライブラリから廃止され、setuptoolsに統合されました。これにより、distutilsの機能を使用するにはsetuptoolsをインストールする必要があります。
setuptoolsのインストール
1,まずはensurepipを使ってpipを最新にする(pipをインストールまたはアップグレードするために使用):
python3.12 -m ensurepip --upgrade
2,distutilsをインストールする:
Python 3.12以降では、distutilsモジュールはsetuptoolsに統合され、distutils自体を直接インストールすることはできません。そのため、setuptoolsをインストールすることが推奨されてます。
python3.12 -m pip install setuptools
これでdistutilsモジュールがインストールされ、Errorは解消されたはずです。