モジュールを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を行います。
問題なければクリアです。