使用pycharm学习一个框架,想要使用远程服务器上的环境,debug框架中一个.py文件,遇到上述报错。
(题外话:
这个错误刚开始用pycharm的时候就遇到过,当前怎么解决的有些忘了,类似的工程问题记录在本地的文档系统,我个人很容易随意放,过段时间就不知道扔哪里去了,要是能想到标题的关键字,还能用everything搜索以下,存的时候明明基本就按报错中的一句话,或者自己比较主观的一句总结,后来找的时候很困难,文件管理-命名这方面希望和大家交流下,感觉类似的工程问题适合写在这种云笔记,比较好找。
)
找了几种不同的解法,先说我最后生效的:
Pycharm:Can't get remote credentials for deployment server的解决办法_cant remote cre_荷叶田田_的博客-CSDN博客
在选择debug后,首次会跳出edit configuration对话框(如果第一次没有配置正确,后面找这个edit configuration仍然是是在Run选项下,无须去File下搜索edit configuration,即使搜索出来也不对应,这点的思想有点类似于英语中的主语就近一致原则,也可以看作是作用域的不同,关键是意识到file虽然排在第一个,但是和Run的edit config可能不一定是包含关系),需要类似如上的编辑,我在加上红框中的环境路径之后,报错就不见了,这里的路径和下面的python interpreter的路径保持一致,路径最后的细节参照上面的情况;这个链接的解决方案基本和我的一致,注意不同的一点在于:
我本地系统是windows,远程服务器是linux,所以我的local path应该是C|D或者其他盘下的某条路径,deployment path是远程服务器/home/user/framework/xxx.py这样,这个路径是个抽象的说法,读者需要把和自己情况不一样的变量替换成自己的实际情况。我意识到这个对应问题,是因为发现自己在解决类似的工程问题的时候,似乎总是在找一个和自己情况一模一样的帖子,容易陷入一种照搬的误区,因为大家的需求大同小异,需要明确这种对应关系怎么迁移到自己的需求上很重要。
关键是三个对话框中变量名一致的路径要一致,或者变量名不一致但是路径应当一致的(具体见上文)路径要一致,不一致的问题在程序或者配置的修改中似乎经常是错误的原因所在,需要耐心些检查。
其他的解决方案还有在file-setting-python interpreter里选中当前配置的编译器,编辑,把选项Deployment configuration修改为SSH Credential,可能是pycharm版本的问题,我并没有找到这个选项,最后没改,也没影响,但是评论里有的同学说这个方法很有效。
还有说把所有编译器删了,把工程中的.idea文件也删了,再重建去解决的,个人感觉有点麻烦,虽然因为服务器ip变动,也确实需要删除原来创建的编译器,但我认为这个方法并没有直接体现在我最终解决问题上。
关于耐心:这个问题我记得曾经解决过,太久了,忘了,解决的过程因为反复地配置,很多变量没有放在一个对话框,要对齐几处,操作过程中变得有些瞌睡,几乎想要放弃,找别人帮忙解决,但终究觉得手过一遍,才真有可能避免下次不犯重复的错误,在意识到自己重复犯错是因为照搬,并有意识地关注了帖子中路径的对应情况和我的不同之处,以及截图中对话框的title,可以帮我明确要改的内容要在哪个按钮下找,而不是尝试用ctrl+shift+F全局找,这样也找不到,感觉这些问题的解决需要适当地约束自己的想象力,有意识地把作用域,一致性这些程序中通常满足的要求带入,解决的过程可能会更顺利。