远程服务器使用|MobaXterm、Pycharm

高手在线求帮请教下,远程服务器使用|MobaXterm、Pycharm
最新回答
鲜血染红嫁衣

2024-10-30 13:51:43

MobaXterm

官网下载

使用:

1.

2.

3.

输入前面命令中的用户名就行

初次登陆需要输入密码,这里要注意已经进入了linux环境,所以粘贴之前复制的密码的时候使用

shift + insert (都松开)+ 回车 ;登陆一次后可以保存密码。

或者手动设置一下用户

在使用MobaXterm时如果长时间连接远程服务器可能会出现自动断开的问题,最好进行一下设置。

Pycharm远程连接

注意要使用pycharm专业版。

一共分为三部分,SSH、SFTP以及Python Interpreter。

SSH用于配置基本的用户信息以及服务器地址等实现连接;SFTP实现本地到远程的文件传输;而Python Interpreter实现程序的最终执行。

tips:

经过测试发现在配置Python Interpreter时Pycharm会默认自动配置一个SFTP(其路径就是在Interpreter中设置的路径)并使用,且这个SFTP配置中是默认Root path为空,将Development path设置为对应的远程目录(后续可以自行修改)。

两种流程:

但上述两种流程种Pyhon Interpreter都会使用它默认的SFTP。所以以下流程以先配置Python Interpreter为例。

SSH与Interpreter

1.

2.

输入连接信息

Test Connection测试能否连接

3.

配置Python以及路径

其中执行地址对应到具体conda环境中的Python,有关conda环境等内容可参考

仙峰寺扫地僧:Anaconda+pytorch+cuda安装全流程介绍|常见问题解决|conda与pip|pycharm配置

(路径示例:/home/用户名/miniconda3/envs/自定义环境名/bin/python)

配置后Path mappings就体现了上面路径。

至此SSH与Interpreter就一并配置完成了。

如果成功可通过点击Tools-->Deployment-->Browse Remote Host,在右侧查看对应的远程目录是否为绿色,显示为绿色则成功。

查看SFTP

查看Pycharm默认的SFTP。

点击右侧的图标可以查看一下SFTP的配置(事先并未配置过SFTP,在Deployment中出现了默认生成的SFTP)

Root path是远程根目录,远程项目必须在这个路径下。

Local path是本地路径,Development path是远程项目路径。

对应关系为Local path -> Root path+Development path。

注:通过配置Python Interpreter默认得到的SFTP配置好像是默认Root path为空,将Development path设置为对应的远程目录,不过这一点影响倒是不大。可以对Root path和Development path进行修改。

查看远程目录,右侧显示的根目录对应Root path。

创建SFTP

那么如果我想修改本地对应路径呢?这里通过创建新的SFTP,并在Interpreter中修改所用的SFTP实现。

!!特别要注意的一点是Deployment path不能为空,至少要有一个/,否则在识别路径即Root path+Deployment path时会失败,无法实现同步。!!

在Python Interpreter中更换SFTP。

这里我选了Move,它会自动对应此时SFTP的路径映射;此时再查看路径发现已经更改了。

在Tools-->Deployment-->Browse Remote Host中切换与Python Interpreter中所用SFTP对应的SFTP。

代码执行

经过前面的配置后,就能够实现本地文件和远程服务器文件的互通了,但如果想要在本地进行远程文件的调试与运行,需要遵循该规则:

想要执行的远程文件必须在本地中有所对应的“副本”才能借助远程服务器进行执行。

以实际例子为例,完成连接后,想要执行服务器中的attemp.py

执行后会提示错误

此时需要将服务器中的文件下载到本地,右键该文件

此时在之前设置的对应好的本地路径上会出现attemp.py,此时执行本地的下载过来的attemp.py就可以正常执行,并且能够看出是使用的远程服务器。

而如果想要对代码进行修改后再执行,可以借助同步机制完成,在本地修改后通过upload进行上传对远程文件进行修改,再次执行本地的attemp.py时就是借助远程服务器执行修改后的代码了

修改并上传

远程文件

经过这种同步机制就可以实现在本地下对远程服务器中的文件进行调试。

tips

1.如果一些提示信息出现乱码,可以尝试修改编码方式

2.在其他帖子中看到如果一些错误提示Can't obtain python version,原因可能是涉及到获取不到sudo命令权限的问题。

可能是之前配置中勾选了这个选项

可以在这里重新取消勾选一下

3.如果同步出现问题,查看一下编译器中对应的SFTP(前文提到的默认SFTP的问题,但没问题本着能用不改的原则就不要更换了)

正常按流程配置完红框位置应该是一个默认的东西,建议手动修改为自己之前设置的,因为默认的路径上可能会出现问题

参考链接:

Pycharm中SSH、SFTP连接远程服务器编辑调试全面手把手教程_autoreleasepools的博客-CSDN博客_pycharm ssh远程调试

pycharm使用sftp同步服务器_Solkatt's的博客-CSDN博客_pycharm sftp 工具