Ubuntu环境下PyCharm通过SSH远程调用服务器Python运行代码的技术咨询
如何在本地PyCharm通过SSH用服务器环境运行代码及相关问题解答
一、PyCharm配置远程SSH运行代码的步骤
其实这个配置并不复杂,跟着下面的步骤走就能轻松搞定:
- 添加SSH远程解释器
打开PyCharm,依次点击File > Settings > Project: [你的项目名称] > Python Interpreter,点击右上角的齿轮图标选择Add。在弹出窗口里选SSH Interpreter,输入你的服务器IP、用户名、密码(用SSH密钥会更安全),连接成功后选择服务器上的Python解释器路径(比如/usr/bin/python3或者虚拟环境里的Python)。 - 配置项目文件同步
还是在Settings里找到Build, Execution, Deployment > Deployment,添加一个SFTP连接(和刚才的SSH信息一致),设置本地项目目录和服务器上项目目录的映射关系。记得勾选Automatic upload (always),这样你本地修改代码后,PyCharm会自动同步到服务器,避免跑旧版本代码。 - 设置运行配置
点击右上角的运行配置下拉框,选择Edit Configurations,新建一个Python运行配置,在Python interpreter里选择刚才添加的远程SSH解释器,指定要运行的脚本路径(选本地路径即可,同步后服务器上会有对应文件)。 - 运行代码
现在直接按Ctrl+F5(或者点击运行按钮),代码就会在服务器的Python环境里执行,输出会直接显示在本地PyCharm的控制台,输入也可以直接在本地控制台填写,PyCharm会自动把输入转发到服务器端。
二、支持该功能的其他IDE
除了PyCharm,还有不少主流IDE支持远程SSH运行代码:
- VS Code:安装
Remote - SSH插件,连接到服务器后,可直接打开服务器上的项目或同步本地项目,选择服务器上的Python解释器后,运行代码就会调用服务器的环境和算力。 - IntelliJ IDEA:和PyCharm同属JetBrains家族,配置逻辑几乎一致,只要是Python项目,添加SSH远程解释器后就能实现远程运行。
- Visual Studio:安装
Remote Development工作负载,通过SSH连接到服务器,就能在Visual Studio里使用远程环境开发和运行代码。 - Spyder:可以配置远程IPython内核,在Spyder的
Preferences > Python interpreter里选择远程内核,连接后运行代码就会调用服务器的算力。
三、输入输出文件的本地存储问题
当然可以把输入输出文件存在本地,这里有几种实用方式:
- 自动同步文件
利用PyCharm的Deployment功能,在运行配置里添加Before launch步骤,选择Upload files to server,把本地的输入文件自动上传到服务器;再添加After launch步骤,选择Download files from server,把服务器上的输出文件自动下载到本地指定目录,整个流程无需手动操作。 - 挂载远程文件系统
可以用sshfs工具把服务器的目录挂载到本地,Ubuntu上直接执行sudo apt install sshfs安装即可。挂载后,你在本地操作挂载目录就像操作本地文件夹一样,代码里直接写本地挂载路径,运行时服务器会读取对应路径,输出文件也会直接出现在本地挂载文件夹里。 - 手动/代码辅助同步
如果你不想用自动同步,也可以手动把本地输入文件上传到服务器,运行后再手动下载输出文件;或者用Python的paramiko库在代码里实现自动上传下载,但这种方式相对繁琐,不如前两种高效。
内容的提问来源于stack exchange,提问作者leo_damico




