Pythonモジュールのimportができなくなったときの対処記録


概要

自動化処理の勉強中、それまでインポートできていたPythonのrequestsモジュールが急に(?)インポートできなくなったので対処しました。現在はこの方法でうまくいっています。

環境

windows10
Python 3.6.5
Anaconda3
requests2.19.1

エラー内容

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'requests'

先日までできてたのに急にこんなエラーが出ました。
requestsなんて名前のモジュールは無いからインポートできないと言われているわけです。

状況確認

まずは、適切にrequestsがインストールされているのか確認しました。pipコマンドでインストールしたもののリストを表示し、確認しました。

PowerShell
$ pip list

結果:ありました

次に、requestsがインストールされたパスを確認しました。

PowerShell
$ pip show requests

次に、Pythonシェルで、モジュールを探索するパスのリストを確認しました。

PythonShell
>>>import sys
>>>sys.path

結果:requestsがインストールされているパスが、Pythonが探索するパスのリストに含まれていないことが確認できました。

対処

Pythonが探索するパスのリストに、requestsがインストールされているパスを追加すればよいので、以下を実行しました。

PythonShell
>>> import sys
>>> sys.path.append('該当のパス')

これで無事、requestsのインポートができるように直りました。

まとめ

Pythonが探索するパスとモジュールがインストールされているパスに差異ができていたため、適切なパスを設定しなおすことで、今回の問題は対処できました。