0
2

python3.12へバージョンアップしたところ「japanize_matplotlib 」でModuleNotFoundError発生。原因と対処

Posted at

環境

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は解消されたはずです。

0
2
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
2