windows设置终端启动时打开conda虚拟环境

        项目需要,双击启动python脚本,但实际的python环境在虚拟环境envs下,首先使用.bat批处理文件,失败。后尝试快捷方式执行,成功!

        在开始菜单中找到anaconda标签,打开文件所在位置。

windows设置终端启动时打开conda虚拟环境_第1张图片

        看到快捷方式,双击,可直接进入conda虚拟环境。

windows设置终端启动时打开conda虚拟环境_第2张图片

        可以看到,相比我们自己打开的cmd,该链接自动进行conda虚拟环境。我们希望打开链接时自动切换到自定义的虚拟环境,还希望最好能自动切换到其它盘符,执行其中的脚本命令。

        右键->属性->快捷方式,查看目标代码:

windows设置终端启动时打开conda虚拟环境_第3张图片

        可以看到conda本身的链接也是调用cmd.exe,只是在cmd启动时增加了参数指令。完整的指令如下:

%windir%\System32\cmd.exe "/K" D:\Programs\Miniconda3\Scripts\activate.bat D:\Programs\Miniconda3

        核心代码为:cmd.exe "/K" ..\activate.bat D:\Programs\Miniconda3

cmd参数意义:

        cmd /c dir 是执行完dir命令后关闭命令窗口。

        cmd /k dir 是执行完dir命令后不关闭命令窗口。

        cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。

        cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。

        这下我们明白了,相当于cmd打开了一个终端,再执行activate base。拷贝该链接,命名为test,我们对指令修改(activate torch),开始时激活torch虚拟环境:

%windir%\System32\cmd.exe "/K" D:\Programs\Miniconda3\Scripts\activate.bat D:\Programs\Miniconda3\envs\torch

        双击后,确实启动时加载了torch虚拟环境:

        已经成功了一半了,我们希望它启动时进入E盘,执行python hello.py命令。可以这样写:

%windir%\System32\cmd.exe "/K" D:\Programs\Miniconda3\Scripts\activate.bat D:\Programs\Miniconda3\envs\torch & E: & python hello.py

        & 为cmd命令分割符号,也有用&&分隔的。至此,问题解决。

参考:

1、cmd /k的含义

cmd /k的含义_chief1985的博客-CSDN博客_cmd k

你可能感兴趣的:(python,计算机视觉,python,virtualenv,conda,cmd.exe)