背景
bashPS C:\Users\Lenovo\WPSDrive\669715199_3\WPS云盘\课程\研一\ROAS5700 Robot Motion Planning and Control\Final\LaTex报告\final-v1> conda activate mp PS C:\Users\Lenovo\WPSDrive\669715199_3\WPS云盘\课程\研一\ROAS5700 Robot Motion Planning and Control\Final\LaTex报告\final-v1> conda env list # conda environments: # base E:\anaconda3 d2l-1 E:\anaconda3\envs\d2l-1 d2l-cuda113 * E:\anaconda3\envs\d2l-cuda113 fintech-hw2-cpu E:\anaconda3\envs\fintech-hw2-cpu mp E:\anaconda3\envs\mp scrape-rag E:\anaconda3\envs\scrape-rag vis_mlab E:\anaconda3\envs\vis_mlab
- 也就是说执行了conda activate mp,但是没进得去环境,还在 d2l 环境里
这个问题很常见,尤其是在 PowerShell 中使用 Conda 时
这通常意味着 Conda 的 shell 初始化没有在当前的 PowerShell 会话中正确生效,或者 PowerShell 的配置阻止了 Conda 修改环境
解决方案
以下是一些排查步骤和解决方法:
-
Conda 初始化 PowerShell:
conda init powershell
运行这个命令后,你需要关闭并重新打开 VS Code 的终端(或者整个 VS Code 编辑器) ,以确保 PowerShell 的配置文件 (
profile.ps1
) 被正确加载 -
检查 PowerShell 执行策略: PowerShell 有一个执行策略,可能会阻止
profile.ps1
脚本(Conda 初始化时会修改这个脚本)的运行-
打开一个新的 PowerShell 终端
-
检查当前的执行策略:
Get-ExecutionPolicy
-
如果返回的是
Restricted
,那么你需要更改它。一个相对安全的设置是RemoteSigned
:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
-
之后再次尝试关闭并重新打开 VS Code 的终端,然后激活环境
-
-
PowerShell 提示符变化: 成功激活 Conda 环境后,你的 PowerShell 提示符通常会发生变化,在前面显示环境名称,例如:
(mp) PS C:\Users\Lenovo\WPSDrive\...\final-v1>
看看效果
bash
(base) PS C:\Users\Lenovo\WPSDrive\669715199_3\WPS云盘\课程\研一\ROAS5700 Robot Motion Planning and Control\Final\LaTex报告\final-v1> conda activate mp
(mp) PS C:\Users\Lenovo\WPSDrive\669715199_3\WPS云盘\课程\研一\ROAS5700 Robot Motion Planning and Control\Final\LaTex报告\final-v1>
成功解决!