Pythonプログラムを書こうとVisual Studio Codeの環境を整えていたときに遭遇したエラーとその対処法をメモとして記録しておきます(2022/8/20時点での情報)。最後には解決できました。
問題:Visual Studio Codeでcondaが使えない…
PythonはAnacondaで導入し、Visual Studio Codeを準備。さあやるぞ!といったときにこんなエラーが発生… しばらくハマってしまいました。その解決方法です。
Anaconda上での仮想環境にPython用OpenCVライブラリを導入しようとしてエラーが発生。どうやら”conda“コマンドが使えないことが原因のよう。
実行環境と状況
実行環境は以下でした。
- Windows 11
- Anaconda によるPython環境の導入済み
- Visual Studio Code (ver. 1.67.2)
加えてVisual Studio CodeにPython拡張機能を導入しました。
この状態でcondaを利用してOpenCVをインストールしようとし、ターミナルから
conda install opencv
と入力。そうすると図1のエラーとなりました。
解決策:Powershell用初期化コマンドの実行
Windowsの場合はpowershell上でcondaを実行したいのですが、それがうまく行っていないことが原因です。そのため下記のコマンドをAnaconda Promptで実行しておく必要があります。
conda init powershell
そうすると図3のようになります。
この”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ターミナルを管理者として実行しておく必要がありますので注意してください。
これで仮想環境への切り替えも行えるようになります。
ちなみにVS Code上でPythonのインタプリタを切り替えるには”Ctrl + shift + p“でコマンドパレットを開き、”Interpreter”と検索すると”Python: インタープリターを選択“と出ますので選択し、希望の環境を選ぶことで設定できます。
実行ポリシーに関しては以下が詳しいです。
condaでの仮想環境作成
最後にcondaでの仮想環境の作成コマンドと定番の使い方をメモしておきます。(私がすぐ忘れてしまうので)
conda create -n [環境名] python=[pythonのバージョン]
参考サイト:https://docs.conda.io/projects/conda/en/latest/commands/create.html