研究:【最强内网穿透工具frp】、【傻瓜式-Web面板的轻量级、高性能内网穿透工具:nps使用教程】这两篇文章就是因为我需要通过pycharm调试远程pyhton代码。虽然也有另外一种方案,就是直接使用远程python环境调试。不过我还是喜欢用pydevd_pycharm库来调试。不清楚为啥python调试和【使用goland调试远程代码】这篇文章不一样,go远程调试是远程使用dlv作为服务器,而python是用本地pycharm作为服务器,因此远程服务器上运行的是客户端,这就需要使用到内网穿透,有关内网穿透可以参考上面的两篇文章。下面我就写写如何调试远程python代码吧。
配置pycharm可以配置pycharm将本地代码上传到服务器,也可以下载服务器的代码,总之同步代码是很方便的。
首先按照下图点击部署,然后选择配置。
一般Linux服务器安装了ssh就可以支持sftp,所以我一般都是创建sftp这个。
按照下图配置号ssh连接好服务器信息,点击测试连接可以检测连接是否可以成功。
根路径很有用,会在映射里面拼接该路径。
注意部署路径为远程服务器路径,会拼接上面的根路径。
上传文件的一种方式就是在文件内右键,选择部署,选择上传,就可以将当前文件上传到之前配置的目录。
另一种方式就是右键左侧的文件或目录,选择部署,上传,则会将对应文件或目录整个上传到服务器指定目录。
还有就是通过工具栏的部署里面的浏览远程目录,会弹出远程Linux服务器的目录结构。
如下图所示,配置的远程映射目录会显示不同颜色,在对应目录右键会提示在此处上传或者下载,这时候会于我window本地目录想对应。其他没有颜色的目录点右键则只有简单的操作。
配置调试通过上面一步可以方便的将本机python代码上传到服务器,也可以将服务器代码下载到本机。然后现在开始配置我的window系统的pycharm调试方法。按照下面配置好调试信息。
将上图第2步的代码复制到需要调试的代码前面,并右键部署到Linux服务器上,注意里面的IP、端口是给服务器那边用的,本机启动时监听的永远是上面调试里面填写的IP、端口。
查看服务器的代码,里面填写的IP和端口需要注意下,是去连接pycharm的那台设备的IP和端口。
在本机的pycharm上点击调试启动,此时看下图,pycharm启动了服务器一直在监听客户端的连接。
此时服务器运行要调试的代码,pycharm里面会提示下载,这是因为没有配置路径映射导致客户端不知道要调试的代码,选择下载即可开始调试,此时相当于将服务器代码下载到临时目录去进行调试。至此就完成了通过window的pycharm调试远程Linux服务器代码,最烦的还是要配置内网穿透。
按照下图配置路径映射后,再重新进行调试,这时候就不会提示下载那个界面,直接进入调试入口。到现在为止,就完成了远程调试python代码的所有步骤。
还可以配置下面的自动上传,这样就不必每次手动上传文件到服务器咯。
总结找了一些教程,调试python可以用pdb,类似调试C的gdb,但是都是命令行的,虽然在Linux下有简单界面的,但肯定不如pycharm来得方便。以前都是通过本机调试代码,服务器上代码多数都是靠打印日志测试,最爽的还是用你ide来调试远程代码。