Edited at

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