概要
PATH設定が原因で、任意のModuleが読み込めずに
pythonのパッケージが使用できない時があるので、その対処について
環境
- python 3.9
- Mac
対処例
ModuleNotFoundError: No module named 'pandas'
と表示された場合
まず該当のパッケージ(ここではpandas)がインストールされているか確認&パッケージがインストールされているパスを確認
する
インストール状況を確認するコマンド(ここではpandas)
# 確認パッケージが異なる場合はpandasの部分を対象のパッケージ名で書き換えて実行
pip3 show pandas
出力例
Name: pandas
.
.
Location: /usr/local/lib/python3.9/site-packages
.
.
コンソールで実行
python3 -c "import sys; print(sys.path)"
出力例
/Users/HOGEHOGE/.pyenv/versions/3.9.0/lib/python3.9/site-packages:
/Users/HOGEHOGE/Library/Python/3.9/bin:
/Users/HOGEHOGE/.pyenv/versions/3.9.0/lib/python3.9/site-packages:
.
.
※ 標準の出力では見づらい形式で出力されるので、適宜改行・整形する
前項で出力したpandasのパス(Location: /usr/local/lib/python3.9/site-packages
)が出力表示に含まれているかを確認する。
表示されないようであれば、$PATH(もしくは**$PYTHONPATH**)にpandasのパスを追加する。
パスの追加
使っているシェルによって~/.bashrc
や~/.zshrc
に追記する
追加するパス
# pip3 show pandas 実行時のパス情報↓
/usr/local/lib/python3.9/site-packages
~/.zshrc
# 記載例
# PYTHONPATHの中身を:でつなげてワンライナーで記述してる。改行して記載する際は末尾に\をつける
# python path
export PYTHONPATH=${HOME}/.pyenv/versions/3.9.0/lib/python3.9/site-packages:\
${HOME}/Library/Python/3.9/bin:\
/usr/local/lib/python3.9/site-packages:\
$PYTHONPATH
余談
とりあえずエラー回避して動かしたい人向けの対処方法ですね
参考
pythonでImportError: No module named ・・・が出たときの確認方法と対処
Python Tips:ワンライナーが書きたい