工欲善其事,必先利其器
首先你需要选择一个专业版本的pycharm,社区版本不支持远程配置功能,专业版下载地址:Pycharm 2023
双击程序进行安装,30天内免费试用,如果想要永久使用,办法你懂的,此处略。
远程代码同步配置
选择【tools】 中的 【Deployment】之后选择【Configuration】
点击+号,建议选择SFTP方式进行远程同步添加,
点击如下位置:
输入用户名、密码,点击【Test Connection】进行连接尝试,成功则继续。
配置好需要同步的本地路径和远程路径,远程路径后面就是程序远程调试的目录。
下面选择需要同步的项目工程目录,右键选择【Deployment】-> 【Upload to root@XXX】
不出意外将会在Pycharm最下面出现进度条:
在右侧可以查看远程的目录:
远程Debug
【File】-> 【Settings】-> 【Python Interpreter】选择【add interpreter】
选择 【On SSH】
在这个页面你可以选择virutal env环境也可以是系统解释器,看需要 如我选择系统解释器。
至此配置已经完成。
远程调试的原理是什么呢?
如何远程调试,其实理解起来也不费劲, 你需要使用远程的python解释器执行远程的程序,而远程的程序需要你本地同步一份过去。这就需要我们
1、配置远程代码同步
2、配置远程解释器
3、执行本地的代码,同时会调用远程解释器去执行远程对应路径代码。
那他为什么能远程debug调试,作用的断点是如何生效的呢?
我们启用远程调试,发现在命令执行前会有这个信息显示:
/usr/bin/python3 /root/.pycharm_helpers/pydev/pydevd.pyConnected to pydev debugger (build 233.13135.95)
原来是使用了https://github.com/fabioz/PyDev.Debugger工具进行远程调试的,具体原理后面有时间来剖析,猜一下应该是将本地断点同步到远程,故可以进行远程调试。
参考:
- https://www.cnblogs.com/yssjun/p/9824823.html
- https://zhuanlan.zhihu.com/p/36843200
- http://cn.voidcc.com/question/p-wmcjvaxe-np.html