問題
「VS CodeでPythonの拡張を入れたのに補完が効かず、赤波線が出っぱなし。パッケージが見つからないと書かれている。でも、コードの実行自体はできるのでおかしいぞ」
という状況のとき、基本的には左下のインタープリター選択ボタンを押してインタープリター一覧から、正しいインタープリターを選択してやれば補完が効くようになります。
ただし、Remote Containersを使っている場合でも、表示されるPythonインタープリター一覧はもとの環境(WSLやWindows)のもののようです。
そのため、手動でコンテナ内のインタープリターへのPathを追加してやる必要があります。
手動でインタープリターのPathを追加する
まず、前提としてコンテナ内でPythonを用いてソースコード自体を実行できているか確認してください。
$ python something.py
Hello World!
実行できている場合、whichコマンドなどでそのpythonへのPathをチェックします。このPathはコピーしておいてください。
$ which python
/usr/local/bin/python
VS Code左下のPythonと書かれた部分をクリックすると出てくる「インタープリターを選択」ポップアップの Enter Iinterpreter path… をクリックします。
出てきた入力欄に先程コピーしたPathを入力して、Enterキーを押してください。
すると無事補完が効くようになります。
以上です。お疲れ様でした。