1.问题描述:发现Pycharm下的terminal窗口报错——Cannot open Local Terminal
错误原因:无法打开Local Terminal
根据错误提示,尝试两种方法:
(1)根据图一提示,我认为是conda activate [env]的问题,于是打开anaconda prompt ,手动检验异常
根据提示知晓,在C盘的Conda.psml文件下,有个参数为空字符串,也就是第101行的 &activateCommand(激活命令),这是个地址变量,结合上述的“空字符串”,再次验证了未找到某种路径;但是我一开始跑偏了,先尝试的是在网上搜索到的一种方法
——更改这个文件的代码,参考博客如下:
Windows conda Invoke-Expression错误处理 – 知乎 (zhihu.com)
这篇方法大概是为了消除最开始terminal中的try catch异常而更改,但按照该方法更改后没有用。
(2)抓住问题关键——Cannot open Local Terminal
或许是Terminal路径设置不成功?
那就找到Pycharm下的Terminal路径设置,有个快捷的地方,就是点击这里,直接进入setting界面
在这里可以看到,shell路径是powershell.exe
将其修改为C:\Windows\System32\cmd.exe
至于原因,不太清楚。也有人说如果正好相反那就颠倒设置。
(个人理解是:anaconda中的iris是一个虚拟环境,直接使用PS终端要另外设置某些路径,才能让iris找到terminal,但使用cmd可以令iris自动跳转到相应的虚拟配置环境中。而terminal与console的区别在于,前者主要是pip、切换环境,后者主要是用于交互。)
最后,不要忘了重启Pycharm才能生效(这个害得我想了半天)。
文章出处登录后可见!