最近在使用Anaconda的過程中,發現在Win10的PowerShell在使用conda activate 環境名
激活環境時無效,而CMD則可以。這里前提必須將Anaconda 寫入環境變量。否則在PowerShell 輸入conda 的任何命令都會無法識別。
首先在終端輸入conda --version
查看自己的anaconda版本。
Conda版本低於4.6
解決方法如下:
- 用Win + X 組合鍵調出PowerShell 管理員模式;
- 輸入命令
conda install -n root -c pscondaenvs pscondaenvs
安裝PSCondaEnvs包; - 輸入命令
Set-ExecutionPolicy RemoteSigned
在出現選項后輸入Y
回車,更改PowerShell 的安全策略。 - 在PowerShell中激活和退出環境的命令分別為
activate 環境名
和deactivate
,注意:需要去掉原命令中開頭的conda,否則也不會成功。
這時問題應該解決了,結果如下:
Conda版本大於等於4.6
解決方法如下:
- 用Win + X 組合鍵調出PowerShell 管理員模式;
- 輸入命令
conda init powershell
; - 關閉當前powershell窗口,重新打開一個powershell窗口輸入
conda activate 環境名
測試。
CMD 的話只需把上面三步中的powershell 改為cmd.exe 即可。
這時問題應該解決了,結果如下:
如果不想每次一啟動Shell 就自動激活Base 環境
在終端輸入conda config --set auto_activate_base false
,即可。
如果又反悔了,想顯示了:
conda config --set auto_activate_base true
。
這些內容其實官網的文檔都有,我也不知道為啥我要寫下來- -
參考資料:
https://stackoverflow.com/questions/47800794/how-to-activate-different-anaconda-environment-from-powershell?rq=1
https://www.anaconda.com/conda-4-6-release/
https://github.com/BCSharp/PSCondaEnvs
https://blog.csdn.net/kdongyi/article/details/81905494