CSV操作のためpandasをインストールしインポートするが、「Could not import the lzma module」とエラーが発生し実行できない。
無事調べてみた情報で解決できたので、手順を残しておきます。
参考にしたのはこちらのサイト様たち。
[Python3 / pandas] pandasをアップデートしたら、lzmaなるmoduleがimportできないというメッセージが出た
ModuleNotFoundError: No module named ’_lzma’ #27532
手順
lzmaの有効化
まずはエラー文にもあるlzmaをインストール。
brew install xz
.zprofileを編集。
vi ~/.zprofile
.zprofileに以下を追記。
prefix=$(brew --prefix)
export LDFLAGS="-L$prefix/opt/xz/lib $LDFLAGS"
export CPPFLAGS="-I$prefix/opt/xz/include $CPPFLAGS"
export PKG_CONFIG_PATH="$prefix/opt/xz/lib/pkgconfig:$PKG_CONFIG_PATH"
# YOU CANNOT HAVE THE GNUBINS in your PATH when you run this
export PYTHON_CONFIGURE_OPTS="--enable-shared"
追記した環境変数を有効化。
source ~/.zprofile
Pythonの再インストール
再インストールの前に、インストール済みのライブラリを確認。
(Pythonを再インストールすると、インストールしていたライブラリが消えてしまったので)
pip list
現在使用しているPythonのバージョンを確認。
python --version
pyenvを使って確認したバージョンをアンインストール。
(私の場合3.9.6を使用していました)
pyenv uninstall 3.9.6
この段階でPythonのバージョンを確認すると2.7.16となっており、
pyenvを使って、先ほどアンインストールしたPythonのバージョンをインストール。
pyenv install 3.9.6
pyenvを使って、インストールしたPythonのバージョンに切り替える。
pyenv global 3.9.6
.zprofile、.zshrcの内容を反映させる。
source ~/.zproflie
source ~/.zshrc
再度Pythonのバージョンを確認し、インストールした。
ライブラリのインストール
pip list
でインストール済みのライブラリを確認しつつ、Pythonをアンインストールする前にインストールされていたライブラリの状態に戻す。
pandasをインストールする。
pip install pandas
以上の手順で、pandasをimportしたpythonファイルを実行できるはず。