解决Conda报错“C:/Program”不是命令
环境变量不能乱配
症状是什么?
执行完conda init
之后,一打开Power Shell,就提示报错,内容是“C:/Program”不是命令云云,查看内容是Conda的一个Powershell脚本里的报错。
此外,mysql命令也不能正常执行,因为似乎Powershell没能正确加载环境变量。
如何找到原因?
观察报错内容,发现提示C:\Program Files (x86)\Tesseract-OCR\tessdata
云云,我发现,这不是我环境变量里的东西吗?!
引起报错的是这个和Java环境变量之间的一个双引号。
如何解决?
原来是JAVA_HOME
环境变量配置的时候我给加了个双引号,像这样:"C:\Program Files\Java\jdk-16.0.1"
。去掉这个双引号就行了。
原理是什么?
Java用着没问题,但这个双引号导致Path
排在%JAVA_HOME%\bin
后面的环境变量出现了问题。不过,这个似乎还和程序有关,比如Docker,mingw和nodejs就没有受到影响,但是Conda因为要用到Powershell脚本,就受到了影响。
Windows在编辑Path的时候会自动去掉路径的双引号,但是在编辑与Path同级的其他环境变量的时候则不会这么做。
评论
发表评论