PythonでNo module namedのエラーがでる

pythonのファイルを実行しようとするとエラーが出ました。

λ python test.py
Traceback (most recent call last):
  File "syori.py", line 1, in <module>
    import pandas, boto3
ImportError: No module named 'pandas'

no module namedエラーは「パッケージが見つからない」というエラーです。

原因と対処

指定したモジュールが存在しないか、インストールされていないことが原因です。

  • モジュール名はあっているか 
  • モジュールがカレントディレクトリに存在するか
  • インストールしてあるか

確認します。

利用可能なモジュール一覧はpython -c "help('modules')"で取得することができます。
指定したモジュールは存在するか、形はあっているか確認しましょう

インストールしてあるか確認するにはpython -m pip freezeでインストールされているパッケージを確認します。


λ python -m pip freeze autopep8==1.4 beautifulsoup4==4.6.0 ~ pandas==0.24.2 ~

pandasはインストールされているみたいなので原因は違うところにあるようです。

これで出てこない場合はインストールされていないことが原因なので

λ pip install pandas

でインストールします。

その他の原因

調べた結果、原因はpandasがpython3系にインストールされていることでした。
python ~ で実行するとPython2.7系で実行されます

λ python3 test.py

で実行するとエラーは消え実行できました。