ローカル環境のPythonでModuleNotFoundError: No module named ‘_lzma’の表示が出て悩む

module not found error 不具合対処への奮闘
スポンサーリンク

Google ColaboratoryでPyTorchを使って作業していたコードを、ローカルの環境で再現してみようと思ってMacBook Air上で実行したところ、ライブラリをインポートしたところでなぜかModuleNotFoundError: No module named ‘_lzma’ のエラーが表示されて悩むことに。

ここではそのエラー対処法をまとめてみました。

スポンサーリンク

ModuleNotFoundError: No module named ‘_lzma’

Google ColaboratoryでPyTorchを使って作業をしていました。Colab上では動いていたので、M1のMacBook Air上にpythonのvenvを使って仮想環境を作ってColab上で動いていたコードを動かしたみようとした時のことでした。

Jupyter Labを利用してコードを実行すると、インポートしているライブラリが無いと表示されたので、それらを全てインストール。これで動くかと思って再度実行すると…

ModuleNotFoundError: No module named ‘_lzma’

Google Colaboratoryでは特に何も問題なかったのでどうしたものかと悩みます。

スポンサーリンク

Pythonにlzmaが組み込まれていない?

Jupyter Lab上ではなくでPythonの対話モードを起動してlzmaをインポートしてみましたが…

>>> import lzma
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/ユーザー名/.pyenv/versions/3.11.1/lib/python3.11/lzma.py", line 27, in <module>
    from _lzma import *
ModuleNotFoundError: No module named '_lzma'

このようにエラーが出ます。

どうも私の環境下のPythonにlzmaが組み込まれていないような挙動のようです。他のバージョンのPythonではエラーも出ずにインポートできたんですよね。

スポンサーリンク

pyenvが原因?Pythonを再インストール

私のPythonの環境はpyenvを利用しているのですが、ネットで調べてみるとどうもそこに原因があるようでPythonを再インストールすれば解決するというような意見を目にしました。

この環境を構築してから結構時間が経過しているので公式サイトのPythonとは違うものは、何かのビルド時の修正でもこの間に入ったのかなとも思いました。

pyenvのPythonを次のコマンドで確認してみます。

 % pyenv versions
  system
* 3.11.1 (set by /Users/ユーザー名/.pyenv/version)

バージョン3.11.1のPython を使っていました。

このバージョンを次のコマンドで再インストールしてみます。

 % pyenv install 3.11.1 

その前に一回アンインストールした方がいいのかもしれませんが、このまま上書きでインストールしてみました。

ターミナルから対話モードでPython を起動して、lzmaをインポートしてみます。

% python
Python 3.11.1 (main, Dec 29 2022, 11:25:45) [Clang 14.0.0 (clang-1400.0.29.202)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import lzma
>>> 

今度はModuleNotFoundError: No module named ‘_lzma’のエラーは出ずに、無事インポートすることができました。

Jupyter Labでもエラー表示は出ず、無事ローカル環境でもコードを実行することができました。

これで問題解決でした。

スポンサーリンク

まとめ

PythonでModuleNotFoundError: No module named ‘_lzma’が出た時は、Python自体に何か不具合があるかも。

pyenvを使ってPythonを利用している私の環境では、Pythonを再インストールしてみると解決しました。

タイトルとURLをコピーしました