admin 管理员组文章数量: 887021
win10或win11系统右键打开cmd终端(命令行)自动激活anaconda环境
1. 引言
在使用windows7的时候,我们常常使用一个脚本来添加一个右键cmd命令,可以方便的在指定目录下使用右键打开cmd命令行。
当时是通过添加注册表信息的方式实现的,将如下信息保存在一个.reg
文件中,然后双击该reg文件写入注册表即可:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\DosHere]
@="Dos here"
[HKEY_CLASSES_ROOT\Folder\shell\DosHere\command]
@="cmd.exe /s /k pushd \"%V\""
如果我们想在打开命令行的同时激活anaconda环境方便使用python,那么需要写入的信息变为:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\DosHere]
@="Dos Here"
[HKEY_CLASSES_ROOT\Folder\shell\DosHere\command]
@="C:\WINDOWS\system32\cmd.exe /K \"call d:\Anaconda3\Scripts\activate.bat d:\Anaconda3\" && pushd \"%V\""
在windows10和windows11中,也可以采用这种方式,但要注意差别:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\cmdhere]
@="cmdhere"
"Extended"=""
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\cmdhere\command]
@="cmd.exe /s /k C:\\Anaconda3\\Scripts\\activate.bat C:\\Anaconda3 && pushd \"%V\""
[HKEY_CLASSES_ROOT\Directory\Background\shell\cmdhere]
@="cmdhere"
"Extended"=""
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\cmdhere\command]
@="cmd.exe /s /k C:\\Anaconda3\\Scripts\\activate.bat C:\\Anaconda3 && pushd \"%V\""
[HKEY_CLASSES_ROOT\Drive\shell\cmdhere]
@="cmdhere"
"Extended"=""
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Drive\shell\cmdhere\command]
@="cmd.exe /s /k C:\\Anaconda3\\Scripts\\activate.bat C:\\Anaconda3 && pushd \"%V\""
注意上面的anaconda的位置根据自己的实际情况调整。
然而由于系统终端设计的变化,实际上可以使用一种更直观的方法----类似于linux下终端的方法。
下面我们开始介绍(注意下面的示例在windows11中进行的,windows10应该是类似的。)
2. windows11下的终端
windows10和11提供了终端功能。在文件浏览器其中,任意点击右键,我们可以看到一个菜单选项
在windows终端中打开
。
需要注意的是:当菜单选择中没有windows终端,说明我们系统内部没有安装windows终端,可以利用windows商店或其它方式安装。
选择它,就可以打开一个终端。默认打开的是一个powershell。
终端实际上融合不同的cmd工具,包括以前系统常用的cmd、通过wsl安装的linux等。
在标题栏中点击向下箭头我们可以看到已有的工具。比如:
图中的command prompt就是cmd命令行。ubuntu则是通过wsl安装的ubuntu系统。Azure 没用过,应该是windows提供的。
选择相应的菜单项就会打开相应的终端。
实际上我目前最常用的其实就是cmd,所以我希望能够默认打开终端就是cmd,然后还能自动的激活python环境方便运行python程序。下面我们看看怎么修改。
3. 修改终端默认为cmd命令行并激活python环境
在标题栏中点击向下箭头还有一个设置选项,点击进入,我们看到:
在启动选项卡中,第一项就是默认配置文件,我们将其更换command prompt就等于将默认的终端设置为cmd
保存后,我们在任意目录打开终端,就是一个cmd命令行。
然而我们还需要激活anaconda环境方便运行python,还需要继续设置,选择设置窗口左下位置配置文件点击CommandPrompt就可以设置cmd。
在右侧的常规选项卡中的命令行位置填入并保存:
cmd.exe /k "call d:\Anaconda3\Scripts\activate.bat d:\Anaconda3 "
有时因为字符输入等原因可能设置未必就成功,我们还可以看一下当前设置界面左侧最下方打开json文件
打开后,找到cmd.exe,我们看一下内容是否如下:
"commandline": "cmd.exe /k \"call d:\\Anaconda3\\Scripts\\activate.bat d:\\Anaconda3 \""
即:
如果里面有一些乱码,将其去掉,最重要的是注意其中对双引号的转义\"
。
只要这个命令正确了,那么打开就没有问题了。
4. 实践
设置完成保存后,我们可以在任意目录下打开终端,可以看见打开的是cmd
这里的前景和背景颜色变化是在外观设置中使用了solarized light配色方案。
在其中输入python,结果如下,说明我们已经激活了python使用环境。
至于其中运行python命令产生的一大段错误,主要是这个history文件中读取时编码问题导致。参考:方案,进行解决。
5. 终端使用powershell的情况
anaconda也可以在powershell中激活并使用。所以不用前面介绍cmd也是可以。
其激活方式不在使用bat脚本,所以存在一些差别。
设置步骤如下:
(1) 将anaconda路径d:\\Anaconda3\\Scripts
加入path
(2) 按win+x键打开管理员终端进入powershell,运行命令:conda init powershell
(3) 运行命令Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
,目的是让powershell能够执行conda initpowershell 生成的脚本。安全策略 REMOTESIGNED 表示也可以执行本地安全的脚本,而从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)则需数字签名。
(4) 关闭powershell,重新打开终端即可激活anaconda并使用
6. 小结
本文简要介绍在windows11中利用系统终端打开cmd命令行并自动激活python使用环境的方法,为cmd重度使用者提供了一条快速使用路径。
7. 参考
-
方案
-
解决Win10 PowerShell无法激活Anaconda环境的问题
-
powershell激活conda失败
-
about_Execution_Policies
-
https://answers.microsoft/en-us/windows/forum/all/cmd-prompt/bf5ad2c6-6991-40c6-89ea-c9d700708179
版权声明:本文标题:win10或win11系统右键打开cmd终端(命令行)自动激活anaconda环境 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1716167758h669209.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论