Win10下Anaconda 2018.2启动自动执行命令的移除方法求助
解决Anaconda Prompt启动/执行conda命令时自动运行Keras相关命令的问题
我之前也碰到过一模一样的情况——装完Keras后,每次打开Anaconda Prompt或者执行任何conda命令,都会自动跑一堆检测Keras后端、配置VS编译环境的命令,还有烦人的注册表错误提示,折腾了好一会儿才找到根源,给你说下怎么移除这些自动执行的内容:
问题根源
这些自动执行的命令是Keras安装时,自动写入了Anaconda的环境激活钩子脚本里的,每次conda激活环境(包括启动Anaconda Prompt默认激活base环境)时,就会自动执行这个脚本里的内容。
解决步骤
第一步:找到钩子脚本的位置
打开文件资源管理器,导航到你的Anaconda安装目录下的etc\conda\activate.d文件夹,也就是:C:\ProgramData\Anaconda3_2018_2\etc\conda\activate.d你会在这里看到一个名为
keras_activate.bat的文件,这就是罪魁祸首。第二步:停用这个脚本
你有两种选择:- 直接删除:如果确定以后不需要Keras自动配置环境,直接删除
keras_activate.bat即可; - 重命名备份:如果之后可能还需要用到,把它重命名成
keras_activate.bat.bak(或者其他非.bat的后缀),这样conda就不会加载它了。
- 直接删除:如果确定以后不需要Keras自动配置环境,直接删除
第三步:验证效果
关闭当前所有的Anaconda Prompt窗口,重新打开一个新的窗口,或者随便执行一个conda命令(比如conda list),你会发现那些烦人的自动执行命令再也不会出现了。
补充说明
如果之后需要恢复Keras的自动配置,只需要把备份的文件改回keras_activate.bat就行。另外,即使删除这个脚本,Keras还是能正常使用,只是需要你手动设置后端:
- 可以在使用Keras前手动设置环境变量:
set KERAS_BACKEND=tensorflow(或者theano、mxnet,根据你的需求); - 也可以修改Keras的全局配置文件
~/.keras/keras.json(~是你的用户目录,比如C:\Users\young\.keras\keras.json),把里面的"backend"字段改成你常用的后端,这样就不用每次手动设置了。
内容的提问来源于stack exchange,提问作者guagay_wk




