問題

「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キーを押してください。

すると無事補完が効くようになります。

以上です。お疲れ様でした。