https://blog.csdn.net/yeler082/article/details/83818771
由于计算环境都在linux服务器上,本地电脑太烂,但是linux服务器上直接又无法使用pycharm这款工具。所以解决办法是利用windows中安装的pycharm远程连接linux服务器。
1、设置远程连接配置
依次打开这三个箭头的指向,打开配置面板。
在配置面板中可以为你当前的连接起一个名称,这个名称是用于给你区分你连接的是哪台服务器的。
下面依次有三个选项卡:connection、mappings、excluded paths
1 配置连接
connection是基本的连接配置,类型我们一般选用SFTP,主机名称是你连接Linuxf服务器的ip地址,端口号默认22,然后可以点击Test SFTP connection按钮测试连接是否通畅。
接着添加root path根目录,这里你可以点击自动检测。
接着就是你连接Linux服务器所使用的用户名和密码了,可以勾选save password,这样可以将密码保存。
2 配置映射关系
local path要求的是你填入本地的项目名称路径,接下来的是部署到服务器上的项目名称,这两个可以保持一致,也可以不保持一致。
当保持一致的时候,说明你只需要将当前的这一个项目做远程映射,即你只打算远程运行这一个项目,那么最后pychram会将这个项目上传到服务器你写的第二个路径的位置。
如果你需要将多个项目在远程运行,那么就可以将本地路径回退一层,在这一层次会包含很多项目。同样的在linux服务器你可以创建一个文件夹专门存放所有的项目。(如下图)
这样做又有一个弊端,那就是会将你本地pythonWorkSpace里面的所有内容上传到linux服务器的映射pythonWorkSpace的文件夹下,有些时候有些文件是不想上传、也有些不需要上传的,比如.idea。那么我们就可以使用第三个选项卡。
3 配置忽略路径(可选)
我的pythonWorkSpace当中包含了很多项目,这些我忽略的项目也就不会上传到远程linux,当你将其中一个path移除以后,那么这个项目就会被上传到远程,此时就是成功映射到linux并支持远程运行了。
2.设置编译环境
光做好了远程映射还不行,这一步只是让你的pycharm能顺利找到文件,那么如何让pycharm告诉linux用什么去执行你的代码。还需要添加远程运行环境,从file-->settings。
然后填入你的linux ip地址,和你登录linux的用户名称,然后点击next。
接下来就会让你输入密码,当然可以使用putty的秘钥,这里直接使用密码,然后点击next。
点击以后你会看到这样一个面板,这三个参数很关键,第一个参数是你要运行的python版本,比如我在linux 上安装了anaconda2、anaconda3。我在anaconda2中有python2.7版本、anaconda3中有python3.0和python3.7版本,linux系统自带的还有/usr/bin/python的默认版本。具体使用哪一个,请结合自己的项目选定。
第二个Sync folder是运行环境映射,表示这个使用的运行环境使用在哪个文件夹下,这里当然要填写我们第一步填写过的工程路径,这样就会自动将你本地的工程文件上传到箭头指向的远程位置,例如这里我就填写成/home/bxx-yll/mytest (bxx-yll是我的用户名,mytest是我的项目名称)
有了前两步的基本操作,还缺一步就是为当前你要运行的python文件指定运行环境了。
依次点击这两个选项,打开我们的运行配置面板:
在运行配置面板,你可以选择你需要为当前代码运行的python环境,这里因为我本地电脑配置了一个python3.6,linux服务器上有Anaconda2、Anaconda3分别对应python2.7和python3.7,这样我就可以在不同版本的情况下运行我的代码,一个环境可以运行一个代码,即我可以在pycharm上同时在三个环境当中跑代码了。
回到项目,然后,在项目文件夹中,右键,选中deployment,再点 upload to xxx,它就会自动上传文件上去了。
心得体会:远程调式的本质是将本地的代码上传至服务器,将服务器的python编译器clone到pycharm本地,进行调试。好处很明显,相当于直接在服务器上开发了,避免了一些因为windows和Linux不同、路径不同等问题。
一个常见的问题:在运行pycharm的时候,总是提示上传文件有问题,最后就是连接失败。
我最初的解决办法是将pycharm重启,到了后来越来越不好使。实际的解决办法是,将你安装位置的skeletons文件夹下的压缩包删除就可以了。
这是我删除了的。