Windows PowerShell与CMD启动时为何尝试从临时文件夹运行conda.exe
问题根因
该报错并非PATH环境变量配置错误导致,是Conda初始化时写入的终端自启动配置指向了已被系统清理的临时目录下的conda.exe——通常是之前安装/更新Conda时临时目录被提前清理,后续配置未同步更新,导致PowerShell、CMD启动时自动执行该错误路径的调用触发报错。
PowerShell报错修复步骤
- 忽略启动报错,在PowerShell窗口中执行命令
notepad $PROFILE,打开当前用户的PowerShell启动配置文件。 - 在打开的配置文件中找到Conda初始化代码块(一般以
#region conda initialize开头、#endregion结尾),删除块内指向不存在TEMP路径的错误配置;如果需要保留Conda自动激活功能,将块内的conda路径替换为你本地实际安装的Conda对应路径,默认用户安装Miniconda的路径通常为C:\Users\你的用户名\miniconda3\Scripts\conda.exe,Anaconda对应替换为Anaconda的安装路径即可。 - 保存配置文件,重启PowerShell验证报错是否消失。
- 如果执行
notepad $PROFILE时提示文件不存在,先执行New-Item -Path $PROFILE -Type File -Force创建空配置文件再操作;同时可执行notepad $PROFILE.AllUsersAllHosts检查所有用户共用的PowerShell启动配置,同样清理其中的错误Conda路径配置。
CMD报错修复步骤
CMD的启动自执行命令存储在注册表项中,按以下步骤清理:
- 按Win+R组合键,输入
regedit回车打开注册表编辑器。 - 依次定位到两个注册表路径:
- 用户级配置:
HKEY_CURRENT_USER\Software\Microsoft\Command Processor - 系统级配置:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
- 用户级配置:
- 查看两个路径下名为
AutoRun的字符串值,若值内包含指向不存在TEMP目录下conda.exe的调用命令,直接删除该错误值,或修改路径为本地实际的conda.exe正确路径。 - 也可使用命令快速操作(操作前自动备份配置):
- 备份用户级CMD配置:执行
reg export "HKCU\Software\Microsoft\Command Processor" "%USERPROFILE%\cmd_autorun_backup.reg" /y - 删除错误的用户级自启动项:执行
reg delete "HKCU\Software\Microsoft\Command Processor" /v AutoRun /f - 如果报错来自系统级配置,将上述命令中的注册表路径替换为
HKLM\Software\Microsoft\Command Processor,在管理员权限终端下执行即可。
- 备份用户级CMD配置:执行
- 操作完成后重启CMD验证报错是否消失。
后续配置建议
如果需要保留Conda在终端的自动激活功能,找到本地实际安装的Conda目录,在对应路径下执行conda init powershell cmd.exe,即可重新生成正确的终端启动配置,不会再出现临时路径调用错误;如果不需要Conda自动初始化,直接删除上述错误启动配置即可,不影响终端其他功能。
内容的提问来源于stack exchange,提问作者Sam Fuller
相关产品推荐
相关产品推荐

