pythonのNo module named ‘requests_oauthlib’解決方法

python

モジュールをpipで追加したはずなのにない場合の対処

もう一度pip installを実行してインストール先を確認する

コマンドプロンプトから

pip install requests requests_oauthlib

こんな感じで「Requirement already satisfied」
「もうインストールされてるよ」と出たら
「入っているけどPythonが場所をしらない」っていう状態

C:\Users\user>pip install requests requests_oauthlib
Requirement already satisfied: requests in c:\python38\lib\site-packages (2.22.0)
Requirement already satisfied: requests_oauthlib in c:\python38\lib\site-packages (1.3.0)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\python38\lib\site-packages (from requests) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in c:\python38\lib\site-packages (from requests) (2019.11.28)
Requirement already satisfied: idna<2.9,>=2.5 in c:\python38\lib\site-packages (from requests) (2.8)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\python38\lib\site-packages (from requests)

Pythonでどこを探しに行っているか確認する

Pythonの実行環境で

import sys, pprint
pprint.pprint(sys.path)

と実行してみる

こちら参照しました

['C:\\Users\\user\\OneDrive\\ドキュメント\\020 myproject\\twitterbot',
 'C:\\ProgramData\\Anaconda3\\python37.zip',
 'C:\\ProgramData\\Anaconda3\\DLLs',
 'C:\\ProgramData\\Anaconda3\\lib',
 'C:\\ProgramData\\Anaconda3',
 '',
 'C:\\ProgramData\\Anaconda3\\lib\\site-packages',
 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32',
 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32\\lib',
 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\Pythonwin',
 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\IPython\\extensions',
 'C:\\Users\\miyas\\.ipython']

インストール先のパスはないですね
※内容は環境によって変わります

なので

「PC上にインストールはされているけれど、
Pythonは場所が分かっていない」

ってことです。

Pythonが探しに行く場所を追加する

場所を教えてあげよう、ということでファイルを追加します。

こちらを参照しました。すごく詳しいです。
細かく知りたければぜひ!

色々方法はあるみたいですがこれがカンタン

インストールされている場所をコピー

目的のモジュールがインストールしてある場所を調べます。

上の例では

Requirement already satisfied: requests in c:\python38\lib\site-packages (2.22.0)

となっているので

c:\python38\lib\site-packages

ですね。

調べに行く場所を記したファイルを作ります

メモ帳を開きます。

先ほどのインストール場所、つまり
Pythonに「ここも見てね」と指示する場所

を貼り付けます。

c:\python38\lib\site-packages

※人によって変わるので、ご自身の環境で出てきた場所

この1行を貼り付けます。

所定の場所にpthの拡張子で保存します。

*****.pth

という拡張子にします。ファイル名は何でも良いです。

そのpthファイルを
先ほどの「Pythonはどこを見にいってるの?」と調べた時にあった

 'C:\\ProgramData\\Anaconda3\\lib\\site-packages',

この「site-packages」のフォルダに保存します。

Pythonがモジュールを読むか確認する

Jupyter labでは、一度pythonカーネルを停止して
再起動します。

それから

from requests_oauthlib import OAuth1Session

とかの目的のimportを行います。

問題なければクリアです。