简介
解决痛点:
- Linux上py调试开发一直用python的pdb,类似gdb是纯命令行工具,开发调试效率低,还每次都win端vscode编写后再扔到Linux端用pdb调试,太难受了
- 试用过vscode的remote插件,但在个人pc上没配成功,未知原因; 研发PC又禁了vscode,真tm作
最终转移到pycharm远程调试开发
为的就是达到在win端coding,达到Linux上调试运行的目的,不然本地与Linux上项目路径问题很难受。
其实配置过程很简单,不愧是付费软件。主要是配置SFTP,配置解析器为远端Linux的,注意配置mapping映射路径,路径一定要检查一下,auto的经常是错的。
其实PyCharm也提供了将本地代码上传到远程服务器的功能,PyCharm可以使用它的SFTP服务将我们需要上传的文件上传,可以在 Tool—>Deployment 进行配置
从图中可以看出,Upload相关的选项是灰色,这是因为你没有配置,我们选择Configuration,对PyCharm提供的SFTP进行简单的配置
点击左上角的加号,创建一个配置,将SFTP要链接的服务器路径、服务器用户名和密码都填上,最下面的Web server root URL 字段PyCharm会自动帮我们填写,简单的配置后,可以点击 Test SFTP connection… 按钮,判断SFTP是否可以成功链接服务器,如果返回Success,则表示服务器链接成功
接着还要配置一下本地代码上传到服务的路径,配置好这个,代码才会上传到相应的路径
配置完后,我们就可以进行上传了
PyCharm上传有个比较大的坑,就是你上传时要选中要上传的文件,如果要上传整个项目,就要选中整个项目,如果是上传单独的文件,就选中这个单独的文件
PyCharm远程Debug
光上传代码是不能进行调试,因为我们在PyCharm中运行项目使用的依旧是本地的Python解释器,依旧是在本地运行,那么此时对代码进行Debug跟线上的代码没有关系,线上的代码也没有启动,如果要远程Debug,要完成两个配置
1.配置PyCharm的Python解释器,使用服务器上的Python解释器
2.配置PyCharm的Debug功能,让PyCharm运行服务器上的代码
这里先做第一步,进入PyCharm的配置界面,选择Prjoect XXX—> Project Interpreter,配置Python解释器,点击⚙,如下图
然后选Add Remote,如果以后要选中本地不同的Python解释器,就选中Add Local
接着选中SSH Credentials,将远程服务器的地址、服务器的用户名和密码填上,然后在服务器中选择Python解释的路径,也就是 Python interpreter path
选中完后,点击OK,PyCharm就好将远程服务器上相应Python解释器的相关文件都同步下来,你需要等待一下,然后就会出现下面界面,观察Project Interpreter,它已经是远程服务器的Python环境了
这样第一步就完成了,接着来配置PyCharm中的Debug,如果不配置,那么Debug依旧会使用本地的Python解释器
打开PyCharm Debug的配置界面(Run–>Debug–>Edit Configuration…),然后配置一下当前项目下的Python interpreter,确保Debug使用远程服务器的Python解释器来运行代码
这里有点要注意,Debug配置界面中,Host要配置为0.0.0.0,有时候我们会将它配置成远程服务器的IP,如果配置成远程服务器的IP,会出现IP已经被分配的错误提示,如下
所有都配置完后,就可以进行Debug了,此时使用的就是远程的Python解释器,Debug的也是远程的Python代码,注意观察Debug的第一行,可以发送其通过SSH连接远程服务器
到这里我们就可以在远程调试代码了
同步远程数据库
那么有些Python项目,特别是web项目,不只是代码要上传到服务器,也要将数据库中的表同步到服务器,这里介绍一下使用 Navicat Premium 来快速完成这个需求
首先选中一个要同步数据的数据库,选择数据传输
进入数据传输界面,我们可以选择本地要传输的具体内容,比如是将所有的数据表都传输过去还是选择部分表,接着就是选择接受本地数据传输的接收端,也就会服务器对于的数据库
然后就可以进行传输了,速度非常快
结尾
到这里,你应该可以愉快的调试远端代码了