问题描述
出于种种需要,系统内可能安装了多了python运行环境,如:
- python.org 上下载的 Python 2.7 32bit(用于使用某些只支持32位的第三方库)
- ArcGIS 所用的 Python 2.7 32bit(以及 Python 2.7 64bit,如果安装了64位后台地理处理)
- Anaconda with Python 2 和/或 Anaconda with Python 3
- WinPython 等其他 Python 发行版
而默认情况下,即使系统变量PATH
内填写了多了python.exe
所在的路径,cmd内执行python
的时候也只会执行所找到的第一个。另外,为了避免与ArcGIS冲突、影响ArcGIS内Python环境的使用,在安装Anaconda的时候取消勾选 Add Anaconda to my PATH environment varialbe
和 Register Anaconda as my default Python 2.7
。这样的话,运行Anaconda命令行就只能从开始菜单打开相应的快捷方式了,而不能直接在文件夹内Shift+鼠标右键,打开命令行即用了。
解决方案
通过添加相应的注册表项,可以在右键菜单内添加一项“在此处打开 Anaconda 命令行”Anaconda2 Prompt Here
。
具体步骤如下(假设Anaconda安装在 D:\Anaconda2\
):
1. 在注册表 HKEY_CLASSES_ROOT\Directory\Background\shell\
下新建一项 Anaconda2
,默认值为 Anaconda2 Prompt Here
(此值为菜单项显示名称,可以自行修改)。在Anaconda2
下新建字符串值Icon
,数据为D:\Anaconda2\Menu\Iconleak-Atrous-Console.ico
。
如果想要在同时按下Shift和鼠标右键才出现菜单项,而不是直接鼠标右键就出现,就在Anaconda2
下新建字符串值Extended
,数据留空。
2. 在Anaconda2
下新建一项command
,默认值填入cmd.exe /s /k "title Anaconda2" && D:\Anaconda2\Scripts\activate.bat D:\Anaconda2
。
除了手动打开regedit.exe注册表编辑器执行以上操作的方法外,也可以将以下代码用记事本保存到.reg
后缀的文件中,然后双击打开reg文件即可自动导入相应注册表内容。注意根据Anaconda的实际安装路径进行修改。
|
|
使用效果
在任意文件夹内空白处点击鼠标右键,效果如下:
点击Anaconda2 Prompt Here
后,在打开的窗口内执行python
,打开的就是Anaconda的python解释器了。
而如果此时在文件夹右键菜单内打开系统的命令行并执行python
,则打开的是在系统变量PATH
内所指定的python解释器,与新添加的Anaconda命令行两者独立。