背景
本地环境安装了一个mkdocs,使用MiniConda来运行Python环境以支持mkdocs部署。为了方便每次启动mkdocs的命令,通过脚本来自动切换conda环境并且执行mkdocs serve。由此引出了这个问题,conda执行前需要初始化powershell环境。但又不想所有的powershell环境都被初始化,建立一个单独的powershell with conda显得更加优雅。
配置过程
- 先在任意powershell环境执行初始化
conda init powershell
; 它会在C:\Users\UserName\Document\PowerShell
目录下生成一个profile.ps1
的脚本; - 拷贝
profile1.ps
脚本到miniconda的安装目录下的Scripts
目录,重命名为conda_prifile.ps1
; - 注释掉原来脚本(
C:\Users\UserName\Document\PowerShell\profile.ps1
)的全部内容。 - 打开Windows终端,设置->添加配置文件,名称PowerShell with Conda成功之后,打开左下角的打开Json文件;修改
CommandLine
的内容为:
JSON
"commandline": "%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -ExecutionPolicy Bypass -Command \". 'D:\\Data\\miniconda3\\Scripts\\conda_profile.ps1'\""
5. 完成之后,重启Windows终端,再次打开发现默认环境没有(base) PS
的现实了,打开PowerShell with Conda
环境,成功自动切换到conda的默认环境base.
检查成果
新建一个.ps1的脚本,内容为:
PowerShell
cd mkdocs的目录
conda activate mkdocs
mkdocs serve
双击运行这个脚本就会自动打开一个powershell执行。发送它到桌面的快捷方式。
提示
如果同时安装了powershell 7,则会在C:\Users\UserName\Document\
下生成两个目PowerShell(7)和WindowsPowerShell(5.x)。每个目录下都有profile.ps1
文件。是否保留取决于实际需求。