🐍
'conda' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。
概要
- 「conda : 用語 'conda' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。」の原因と対処方法
- そのままでも使えるので、実害は少ないが、エラーメッセージが気持ち悪いので原因調査と対処方法をまとめる
環境
- Windows 11
- Visual Studio Code Version: 1.84.2
- Python extension for Visual Studio Code (Microsoft製)
- miniconda (conda 23.5.2)
原因
- Visual Studio CodeのTERMINALで、PowerShellを使うように設定されている状態で、
- (PowerShell上で)Command Prompt用のcondaのコマンドを実行しようとして
- activateに失敗してエラーがでる
2つの対処方法
Command Promptを使うように設定を変更する
- Settingsを開き、「terminal.integrated.defaultProfile.windows」で検索する
- Terminal > Integrated > Default Profile: Windows において
- Command Promptに設定する
Pythonインタプリタとconda activateの連携について
- Pythonインタプリタの切り替え(後に述べる)をしたときに
-
conda activate
をしてくれるわけではなさそうだ(不確か)- 起動時に切り替わるような気がするので、設定次第では切り替えができるのかもしれない(要調査)
- 切り替わらないときは、手動で、
conda activate
をすればよい- Command Promptに設定していれば、
conda
コマンドが使える
- Command Promptに設定していれば、
PowerShellでconda環境にする(PowerShellを使いたい場合)
- そのままでは、
conda
コマンドが使えないようだ(エラーが出ているので) - エラーは無視して、手動でPowerShell用のconda環境にするコマンド(以下に参考を書いた)を実行する
-
conda activate
などが行えるようになるので、環境を手動で切り替えれられるようになる
-
- 自動で行うようにしたいが方法がみつけられていない
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& '{path}\conda-hook.ps1' ; conda activate '{path}\miniconda3' "
- {path}は各自の環境に合わせて置換する
-
%windir%
という環境変数は使えなかった
Pythonインタプリタの切り替え
- [Ctrl]-[Shift]-[P]を押した後、「Select Interpreter」などで検索して
- 「Python: Select Interpreter」を実行すると、インタプリタを切り替えることができる
- 切り替えたインタプリタでPythonスクリプトを実行することができる
- このときTERMINALのconda環境は切り替わっていないと思われるが、
- conda activateとは無関係にPythonインタプリタが指定できる
- conda環境は切り替わっていないので、Pythonインタプリタ以外(CUDA Toolkit、環境変数など)で、conda環境に必要なモノがある場合、エラーになる可能性がある
- 必要に応じて、手動で
conda activate
を行う
メモ
- 以下の設定項目の調査もしたい
Discussion