はじめに
pymatgen
モジュールをインポートしようとした時に、ModuleNotFoundError
に遭遇しました。
過去にインストールした記憶があるだけに一瞬?になりましたが、解決は難しくなかったです。
解決策をここで共有します。

解決までの流れ
ライブラリがインストール済みか確認
pythonコマンド
にmオプション
をつけて実行することで、Python
モジュールパスにあるモジュールをスクリプトとして実行します。
また、pip freeze
コマンドによって、現在インストールされているパッケージを表示し、この結果をパイプ|
でgrep pymatgen
に入力として渡しました。
そして、grep pymatgen
によって、pymatgen
がインストールされているかを確認します。
$ python -m pip freeze | grep pymatgen
pymatgen==2018.11.6
ここで、僕は、「あれ、インストールされてるじゃん。。」と思いましたが、python3
コマンドもインストールしていたので、こちらにインストールされていないのが原因なのではと考え下記のコマンドを実行しました。
$ python3 -m pip freeze | grep pymatgen
結果は何も表示されず、python3
の方では、pymatgen
がインストールされていないことがわかりました。
ですので、pip3
でインストールすることにしました。
ライブラリのインストール
$ pip3 install pymatgen
そして、次のコマンドを実行し、無事インストールされたかを確認しました。
$ python3 -m pip freeze | grep pymatgen
You are using pip version 10.0.1, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
pymatgen==2018.12.12
今回は結果が表示されました。完了ですね。
モジュールのアップグレード
ここからは補足ですが、
先ほどのコマンド実行結果にpipコマンドのバージョンをあげるようにと警告が出ていますね。
素直に従って、実行。
$ pip install --upgrade pip
Requirement already up-to-date: pip in /usr/local/lib/python2.7/site-packages (18.1)
ですがpyhoon2系に紐づいたpipは最新版だと言われました。。
そうでしたね、3系に紐づいているpIpのバージョンをあげることが目的でしたので、pip3
コマンドで実行しました。
$ pip3 install --upgrade pip
Collecting pip
Using cached https://files.pythonhosted.org/packages/c2/d7/90f34cb0d83a6c5631cf71dfe64cc1054598c843a92b400e55675cc2ac37/pip-18.1-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 10.0.1
Uninstalling pip-10.0.1:
Successfully uninstalled pip-10.0.1
Successfully installed pip-18.1
無事、最新バージョンがインストールされましたね。
先ほどと同じコマンドを再度実行します。
$ python3 -m pip freeze | grep pymatgen
pymatgen==2018.12.12
先ほどと違い、警告は出なくなりましたね。
そして、最後にpython3
で対話モードを起動し、import pymatgen
を実行すると、エラーは表示されなくなりました。
対話モードでライブラリがインストールされたか確認
$ python3
Python 3.6.5 (default, Apr 25 2018, 14:23:58)
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymatgen
>>>
成功ですね。
Python3系にpymatgen
ライブラリがインストールされました。
おわりに
今回は、pymatgen
ライブラリをインストール済みかの確認を含めて、流れを追って記述しましたが、pymatgen
ライブラリに限った話ではないので、
その他ライブラリのインストールの際にも、必要に応じてご参考ください。
この記事が役に立ったという方は、いいね、お願いします(^^)
Python関連記事
環境構築の真髄(PATHなどの概念)を理解しよう[Python編]
Jupyter Notebookの効果的な使い方を知ろう[Python/機械学習]