让 Visual Studio 的开发人员 PowerShell 有 conda 虚拟环境可用

VS 2022 PowerShell 原本的启动参数长这样

-NoExit -Command "& { Import-Module """$env:VSAPPIDDIR\..\Tools\Microsoft.VisualStudio.DevShell.dll"""; Enter-VsDevShell -SkipAutomaticLocation -SetDefaultWindowTitle -InstallPath $env:VSAPPIDDIR\..\..\}"

作法主要就是为原本的指令加上这个参数

-ExecutionPolicy RemoteSigned

这个参数目的是绕过 PowerShell 的安全性限制

再于大括号的区块后方汇入 conda 提供的 conda-hook.ps1 并启动虚拟环境

Import-Module 'C:\Users\username\anaconda3\shell\condabin\conda-hook.ps1'; conda activate base;

最后的成品,路径记得改成自己的

-ExecutionPolicy RemoteSigned -NoExit -Command "& { Import-Module """$env:VSAPPIDDIR\..\Tools\Microsoft.VisualStudio.DevShell.dll"""; Enter-VsDevShell -SkipAutomaticLocation -SetDefaultWindowTitle -InstallPath $env:VSAPPIDDIR\..\..\; Import-Module 'C:\Users\username\anaconda3\shell\condabin\conda-hook.ps1'; conda activate base;}"

当初因为没注意到忘了複製 --NoExit 这个参数,搞到我要去读 conda-hook.ps1 的原始码弄清楚到底背后做了啥事,一句一句慢慢加上去实验,最后弄出一个很长的指令版本

-ExecutionPolicy RemoteSigned -NoExit -Command "& { Import-Module """$env:VSAPPIDDIR\..\Tools\Microsoft.VisualStudio.DevShell.dll"""; Enter-VsDevShell -SkipAutomaticLocation -SetDefaultWindowTitle -InstallPath $env:VSAPPIDDIR\..\..\; $Env:CONDA_EXE = 'C:\Users\username\anaconda3\Scripts\conda.exe'; $Env:_CE_M = ''; $Env:_CE_CONDA = ''; $Env:_CONDA_ROOT = 'C:\Users\username\anaconda3';$Env:_CONDA_EXE = 'C:\Users\username\anaconda3\Scripts\conda.exe';$CondaModuleArgs = @{ChangePs1 = $True};Import-Module "$Env:_CONDA_ROOT\shell\condabin\Conda.psm1" -ArgumentList $CondaModuleArgs; conda activate base;}"

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章