Mac M1でHomebrewを入れたらVisualStudioCodeのライブラリが使えなくなった時の対応方法

Python

こんにちは、しらすです。

しばらくAnaconda環境を使ってVisualStudioCodeでコードを書いていたんですが、ふとした時にHomebrewを入れたらライブラリが全部読み込みエラーに。。。

色々探した結果なんとか解決した(理解すれば非常に簡単な話だった)ので、メモとして残しておきたいと思います。

ライブラリが突然読み込めなくなった原因

原因はVisualStudioCodeのインタープリター(使用するPythonの環境)がAnacondaからHomebrewに切り替わっていたためでした。現在の環境で設定されているパスを見てみると、ことごとくHomebrewに紐づいています。

おそらくHomebrewインストール時に気づかずに切り替えたんだと思われます。ライブラリはAnaconda側のbase環境にインストールしており、Homebrew側の環境には何のライブラリもインストールされていないため、ライブラリが読み込めなくなっていました。

ちなみにHomebrewはAnacondaと同じくoptフォルダ以下にインストールされています。

インタープリターをAnacondaに戻せばOK

HomebrewのPythonではなく、AnacondaのPythonを使用することで解決できます。手順も簡単(ここまで状況を理解して、解決策にたどり着くのが時間がかかりました。。。)

まずは「command」+「shift」+「p」でコマンドパレットを表示させます。

コマンドパレットに「Python:Select Interpreter」と入力すると上の写真のように「インタープリターを選択」と出てきますので、これを選択しましょう。

設定できるPython環境の一覧が出てきます。ここでanaconda3を選べばOKです(私の場合は「/opt/python3/bin/python」になります)。

変更されたかを確認しましょう

VisualStudioCodeでPythonファイルを作成し、以下のコードを入れて実行してください。

import sys
print(sys.version)
print(sys.path)

print(sys.path)で、現在設定されているパスを表示しています。先ほどインタープリターをanacondaにあるPythonに変更したので、うまく切り替わっていればパスが/opt/anaconda3/xxxになっているはずです。

参考

teratailの質問を参考にさせていただきました。

vscodeでpythonの仮想環境を反映したい|teratail
windows 10にpython3をインストールしました。コマンドプロンプトで仮想環境の構築に成功し python3 -m venv tutorial-envtutorial-env\Scripts\activate.batVScodeでpythonを実行したところ利用しているPyth

コメント