情報技術・プログラミング

Visual Studio CodeとAnacondaの導入時のエラーを解消!

記事内に商品プロモーションを含む場合があります

Pythonプログラムを書こうとVisual Studio Codeの環境を整えていたときに遭遇したエラーとその対処法をメモとして記録しておきます(2022/8/20時点での情報)。最後には解決できました

問題:Visual Studio Codeでcondaが使えない…

PythonはAnacondaで導入し、Visual Studio Codeを準備。さあやるぞ!といったときにこんなエラーが発生… しばらくハマってしまいました。その解決方法です。

図1:VS Codeのターミナル画面に表示されたエラー。実際にはもっと長々とエラー文が表示されている。

Anaconda上での仮想環境にPython用OpenCVライブラリを導入しようとしてエラーが発生。どうやら”conda“コマンドが使えないことが原因のよう。

実行環境と状況

実行環境は以下でした。

  • Windows 11
  • Anaconda によるPython環境の導入済み
  • Visual Studio Code (ver. 1.67.2)

加えてVisual Studio CodeにPython拡張機能を導入しました。

図2:VS CodeでPython拡張機能を導入

この状態でcondaを利用してOpenCVをインストールしようとし、ターミナルから

conda install opencv

と入力。そうすると図1のエラーとなりました。

解決策:Powershell用初期化コマンドの実行

Windowsの場合はpowershell上でcondaを実行したいのですが、それがうまく行っていないことが原因です。そのため下記のコマンドをAnaconda Promptで実行しておく必要があります

conda init powershell

そうすると図3のようになります。

図3:Anaconda Promptでコマンド実行後の画面

この”conda init“コマンドはこのページで解説されています。

conda init

Initialize conda for shell interaction.

(condaをシェルと相互に連携できるように初期化します)

https://docs.conda.io/projects/conda/en/latest/commands/init.html より

引数のpowershellの部分は環境によって変わります。bash, zshなど環境に合わせて変更する部分です。Windows環境ではpowershellであることが多いでしょう。

これ以降、Visual Studio Code上で問題なくcondaを利用することができます。もちろん先述の”conda install opencv”も無事完了できました。

仮想環境を利用している場合

仮想環境を構築していなければ以上で問題ないのですが仮想環境を利用している場合はさらにもう一つ設定が必要な場合があります。それがPowerShell上でのコマンドの実行ポリシーの設定です。これを

Get-ExecutionPolicy

で確認します。図4では”Restricted“になっています。そのため続けて

Set-ExecutionPolicy RemoteSigned

を実行することで実行ポリシーを”RemoteSigned“に設定する必要があります。ただし、PowerShellターミナルを管理者として実行しておく必要がありますので注意してください。

図4:PowerShell上での実行ポリシーの確認と変更

これで仮想環境への切り替えも行えるようになります。

ちなみにVS Code上でPythonのインタプリタを切り替えるには”Ctrl + shift + p“でコマンドパレットを開き、”Interpreter”と検索すると”Python: インタープリターを選択“と出ますので選択し、希望の環境を選ぶことで設定できます。

図5:VSCodeでのコマンドパレットの表示とインタプリター切り替え実際には”Interpr”くらいで表示される。

実行ポリシーに関しては以下が詳しいです。

https://docs.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2

condaでの仮想環境作成

最後にcondaでの仮想環境の作成コマンドと定番の使い方をメモしておきます。(私がすぐ忘れてしまうので)

conda create -n [環境名] python=[pythonのバージョン]

参考サイト:https://docs.conda.io/projects/conda/en/latest/commands/create.html