背景

本地环境安装了一个mkdocs,使用MiniConda来运行Python环境以支持mkdocs部署。为了方便每次启动mkdocs的命令,通过脚本来自动切换conda环境并且执行mkdocs serve。由此引出了这个问题,conda执行前需要初始化powershell环境。但又不想所有的powershell环境都被初始化,建立一个单独的powershell with conda显得更加优雅。

配置过程

  1. 先在任意powershell环境执行初始化conda init powershell; 它会在C:\Users\UserName\Document\PowerShell目录下生成一个profile.ps1的脚本;
  2. 拷贝profile1.ps脚本到miniconda的安装目录下的Scripts目录,重命名为conda_prifile.ps1
  3. 注释掉原来脚本(C:\Users\UserName\Document\PowerShell\profile.ps1)的全部内容。
  4. 打开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文件。是否保留取决于实际需求。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注