配置conda环境时报错Invoke-Expression的解决办法
问题
之前在没配过环境的电脑上新安装了anaconda,发现自从安装之后就持续报下面的第一条错误,也就是以Invoke-Expression为开头的错误。
同时发生的其他问题:
- 在powershell里打conda activate base时,报错Invoke-Expression : 无法绑定参数“Command”;
- 在正确配置conda的环境及执行过conda init后,仍然报错:CondaError: Run ‘conda init’ before ‘conda activate’
为了解决这个问题,我尝试过:
- 修改执行策略(Set-ExecutionPolicy) -> 改为Remote Signed
- 把对应的.ps1文件打开,并且检查具体的内容
- 重装anaconda(虽然重新装上的是miniconda,但这个问题仍然没解决)
在知乎问题下,我发现有些同学遇到的问题和我一样,他没找到解决方案,但是倒是有个缓兵之计:
解决
最后在某些解决思路上看到,这个问题可能是环境变量的设置问题。因此我去检查了环境变量(通过右键我的电脑->属性->高级系统设置->环境变量), 然而在检查PATH那一栏的时候并没有发现任何问题。
这就很奇怪了!问题出现的图片很明显涉及到了很多环境变量的错误,而且还有一个神秘的错误提示:“ 字符串缺少终止符” ”
这里我又重新在powershell里打印了我的环境变量内容,并且把所有的PATH检查了一遍
echo $env:PATH
这里大家可以把环境变量全都copy到文本文件里,将分号;替换为换行符来更好的检查:)
在检查的过程中,发现环境变量里有一个神秘的双引号,而我又继续在系统的环境变量里(高级系统设置)确认了一下,并没有相应的内容。
而我将对应的环境变量删除并重新输入就完全解决了这个问题! 因此,很可能是对应的环境变量里有一个隐形字符,随着某个软件的安装一起被装上来了。
总结
下次有类似的问题,第一时间检查环境变量!如果环境变量没有问题,可以在powershell里打印一下检查,可能会有不可见字符的影响。
参考链接
https://www.zhihu.com/question/640937794/answer/3376815197
Enjoy Reading This Article?
Here are some more articles you might like to read next: