Anacondaで $conda create -p [name] python=[version]をして仮想環境を作成した後、
$conda activate [name] でエラーが発生してしまった場合の対応を残しておきます。
2つのブログを参考にしながら、自分の環境下で起きたことをまとめます。
参考ブログ
開発環境
- windows11
- Anaconda 25.5.1
- commandprompt
エラー内容
今回発生したエラーは以下。
CondaError: Run ‘conda init’ before ‘conda activate’
conda activate の前に conda init してねというものです。
これはcondaがシェル環境に紐づいていないことが原因で起こるエラーのようです。
エラー解決手段
対応1 $conda init [SHELL_NAME]を実行する
実行するコマンドは$conda init [SHELL_NAME]で、SHELL_NAMEには今使ってるシェルの名前を入れます。
bashを使っている場合は$conda init bash
zshを使っている場合は$conda init zsh
を実行します。
私の環境はコマンドプロンプトなので、下記を入力しました。
conda init cmd.exe
これで解決する方もいるようですが、私はまだ解決せず、下記出力がでました。
C:\Users\user\Documents\python>conda init cmd.exe
no change C:\Users\user\anaconda3\Scripts\conda.exe
no change C:\Users\user\anaconda3\Scripts\conda-env.exe
no change C:\Users\user\anaconda3\Scripts\conda-script.py
no change C:\Users\user\anaconda3\Scripts\conda-env-script.py
no change C:\Users\user\anaconda3\condabin\conda.bat
no change C:\Users\user\anaconda3\Library\bin\conda.bat
no change C:\Users\user\anaconda3\condabin_conda_activate.bat
no change C:\Users\user\anaconda3\condabin\rename_tmp.bat
no change C:\Users\user\anaconda3\condabin\conda_auto_activate.bat
no change C:\Users\user\anaconda3\condabin\conda_hook.bat
no change C:\Users\user\anaconda3\Scripts\activate.bat
no change C:\Users\user\anaconda3\condabin\activate.bat
no change C:\Users\user\anaconda3\condabin\deactivate.bat
no change C:\Users\user\anaconda3\Scripts\activate
no change C:\Users\user\anaconda3\Scripts\deactivate
no change C:\Users\user\anaconda3\etc\profile.d\conda.sh
no change C:\Users\user\anaconda3\etc\fish\conf.d\conda.fish
no change C:\Users\user\anaconda3\shell\condabin\Conda.psm1
no change C:\Users\user\anaconda3\shell\condabin\conda-hook.ps1
no change C:\Users\user\anaconda3\Lib\site-packages\xontrib\conda.xsh
no change C:\Users\user\anaconda3\etc\profile.d\conda.csh
no change HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
No action taken.
最後の行のNo action takenの部分が重要だと思うのですが理解できず。
Geminiに対応策を聞いてみました。
Gemini回答:
conda init cmd.exe コマンドからの出力は、必要な設定ファイルやレジストリキーがすでに存在しており、変更は加えられなかったことを示しています(no change, No action taken)。これは、以前に Conda の初期設定が完了していることを意味します。
次の対応:
変更を有効にするためには、現在開いているコマンドプロンプトを再起動する必要があります。
現在開いているコマンドプロンプトのウィンドウを閉じます。
新しくコマンドプロンプトを開き直します。
新しいコマンドプロンプトを開くと、プロンプトの左側に (base) のような文字が表示されるはずです。これは、Conda のベース環境が自動的にアクティブになっていることを示します。
Conda が正しく機能しているかどうかを確認するには、新しいコマンドプロンプトで以下のコマンドを実行してみてください。
Conda のバージョンを確認する:
bash
conda --version
コードは注意してご使用ください。
現在インストールされている Conda 環境のリストを表示する:
bash
conda env list
コードは注意してご使用ください。
これらのコマンドがエラーなく実行できれば、Conda の初期設定は成功しており、使用可能な状態です。
この回答をもとに調べると、
- 新しいコマンドプロンプトを開いても、プロンプト左側に (base) の文字は表示されず
- condaはversion確認できたため正常
でした。
どうやらConda自体はインストールされており認識されていますが、
シェルの自動アクティベート設定が有効になっていない。
or
あるいは設定の読み込みに問題がある
可能性があるとわかりました。
そこで次の対応2を試してみたところうまくいきました。
対応2 Conda の自動アクティベート設定を確認し、有効にする
Conda の設定で、シェル起動時にデフォルト環境(通常は base)を自動的にアクティブにするように設定されているか確認します。
コマンドプロンプトで次のコマンドを実行します。
conda config --set auto_activate_base True
このコマンドは、base 環境の自動アクティベート設定を「有効」にします。
設定後、必ずコマンドプロンプトを閉じてから再度開き直してください。
正常に動いていれば新しいウィンドウで (base) が表示されます。