[PyCharm]Remote配置

经常需要在远程服务器上进行Python开发,如何打造一个完美的开发环境,着实费了不少功夫。小结PyCharm Remote配置

配置流程

首先将远程服务器的SSH连接参数保存为专用的SSH配置,这样可以在后续的配置以及其他工程中重复使用。远程服务器配置分为两个部分:一方面是文件部署,另一方面是解释器配置。参考以下文档:

SSH配置

点击菜单栏File -> Settings,在设置窗口中搜索SSH Configuration,就可以找到配置选项了

解释器配置

点击菜单栏File -> Settings,在设置窗口中搜索Project Interpreter,就可以找到配置选项了

点击右上角的齿轮按钮,选择Show All,会弹出当前已配置的解释器

点击右上角的加号按钮,添加新的解释器

在左侧选择SSH Interpreter,右侧选择Existing server configuration,使用刚才的SSH配置,最后点击右下角的Next

  • 选择远程具体的解释器地址:Interpreter
  • 在这里PyCharm还提供了一次性的文件上传服务,指定要映射的服务器工程地址:Sync folders。如果不需要,取消Automatically upload即可

文件部署

点击菜单栏Tools -> Deployment -> Configuration

在配置SSH 解释器的时候会添加一条文件部署连接,可以在这条连接上进行进一步配置,也可以重新新建一个文件部署。点击左上角加号按钮,选择SFPT,输入服务器名(自定义),创建文件部署连接

  • Connection页面
    • SSH configuration:选择之前配置的SSH连接
    • Root path:点击Auto detect即可
  • Mappings页面
    • Local path:默认为本地工程路径
    • Deployment path:选择远程服务器的工程路径(注意:此处的路径是相对于Root path的)

完成上述配置后,点击右下角的确定按钮即可

文件上传/下载

在之前的设置中,并没有进行文件的上传和下载,实现如下:选择单个文件/目录,右键-> Deployment,选择上传或者下载服务

禁止文件(夹)上传/下载

选择菜单栏Tools -> Deployment -> Configuration,选择Excluded Paths

点击右侧的加号按钮,选择本地禁止上传的路径或者远程禁止下载的路径

相关配置

选择菜单栏Tools -> Deployment -> Options

首先是忽略文件/目录的配置;其次是一些文件部署选项(我把额外两个Delete ..和Create empty...都选了

导入外部源文件地址

参考:解决Pycharm 导入其他文件夹源码的2种方法

使用过程中,常常需要查询外部源文件。有两种实现方法:

  1. 使用sys命令
    • 优点:能够编译和运行
    • 缺点:无法查看源码
1
2
import sys
sys.path.append( 'xxx' )
  1. 点击菜单栏File -> Settings,搜索Project Structure。点击右侧的Add Content Root,添加外部的源码路径(注意:这里的设置是本地的

PyCharm vs. VSCode

除了PyCharm以外,还试用过VSCode打造的Python开发环境,两者对于如何对待远程服务端的开发环境有着明显的区别

  • 对于PyCharm而言,开发过程中依赖的是本地开发环境,仅仅最后使用了远程服务器的解释器,需要额外关注本地和远程的同步问题
  • 对于VSCode而言,整个过程依赖的都是远程开发环境,代码编辑、执行和调试均在远程服务端进行,不在本地保留任何代码

相比较而言,我认为VSCode的设计理念更加合理,它将远程开发环境视为一个特殊的本地开发环境,不需要额外关心代码和文件的同步问题。不过目前VSCode需要对Python环境进行进一步配置,并且插件的功能相对于PyCharm而言还不是非常丰富,所以暂时使用PyCharm进行Remote开发