我尝试在 Windows 终端中创建一个配置文件,以模拟 Anaconda Powershell 提示符的行为。当我在 Windows 计算机上右键单击 Anaconda Powershell Prompt 快捷方式上的 > 属性时,“目标”字段显示以下内容:
%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\Users\me\miniconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\Users\me\miniconda3' "
在
cmd
上,%WINDIR%
计算为 C:\Windows
。因此,我创建了一个新的 Windows 终端,并将“目标”字段的内容复制到 commandline
文件中的 settings.json
参数中:
{
"commandline": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -ExecutionPolicy ByPass -NoExit -Command '& C:\\Users\\amine\\Miniconda3\\shell\\condabin\\conda-hook.ps1 ; conda activate C:\\Users\\amine\\Miniconda3'",
"hidden": false,
"guid":"{236722dd-af73-416e-b467-67bca56e114d}",
"name": "Anaconda powershell prompt",
"font": {"size": 10}
}
不幸的是,当我检查与此配置文件关联的
$env:path
时,它仍然不包含Miniconda相关路径。此外,当我运行 conda
时,我发现它是一个未知的 cmdlet。 $env:path
在其他方面与常规 powershell 提示符相同。
为什么我的自定义配置文件没有在 Windows 终端中激活 Anaconda?我怎样才能让它工作?
查看此评论后,我意识到我传递给
-command
参数的字符串可能不正确。我将 Windows 终端配置文件中的 commandline
更改为以下内容:
"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -ExecutionPolicy ByPass -NoExit -Command & 'C:\\Users\\me\\Miniconda3\\shell\\condabin\\conda-hook.ps1' ; conda activate C:\\Users\\me\\Miniconda3"
然后效果很好。