原文出处:https://xugaoxiang.com/2020/07/01/pycharm-remote-debug/
软硬件环境
- ubuntu 18.04 64bit
- pycharm 2020.1.2
- windows 10 64bit
- anaconda with python 3.7
前言
首先说说我的环境,2台电脑,一台是笔记本,安装的是windows
系统,主要撸代码和写文档,另一个性能更好些,带GPU
,跑的是ubuntu server
。写python
的主力IDE
是pycharm
,刚好pycharm
也有远程debug
的功能,实在是很方便,下面来看看搭建的具体步骤
详细步骤
打开pycharm
,点击File
--> Settings
--> Build, Execution, Deployment
--> Deployment
,添加一个部署,类型选择SFTP
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TeNd70LX-1593586111933)(https://image.xugaoxiang.com/imgs/2020/06/6710e29e67a04282.png)]
设置ssh configuration
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AbP6aq22-1593586111954)(https://image.xugaoxiang.com/imgs/2020/06/38eff558a6a0a3f5.png)]
填写远程主机的相关信息,ip
、ssh
端口、用户名、密码,然后点击TEST CONNECTION
测试一下,这里需要确保你要连接的服务器安装了ssh
服务,可以参考文章 ubuntu安装配置ssh服务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Aj5A1egv-1593586111966)(https://image.xugaoxiang.com/imgs/2020/06/d2f45d7780f9ac55.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CT30YVWd-1593586111978)(https://image.xugaoxiang.com/imgs/2020/06/4ea919798110f611.png)]
回到上层设置,点击AUTODETECT
,让其自动填写Root paths
,这其实就是ssh
用户的根目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cEBdywQG-1593586111987)(https://image.xugaoxiang.com/imgs/2020/06/d7716b3408629c00.png)]
接下来,开始创建python
解析器环境,我们要使用的是远程的解析器。添加一项新的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jrOySGn0-1593586111994)(https://image.xugaoxiang.com/imgs/2020/06/20ca5913569098d3.png)]
选择SSH Interpreter
--> Existing server configuration
,使用刚才上面创建好的ssh
配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MaaVyDGY-1593586112002)(https://image.xugaoxiang.com/imgs/2020/06/aeb62d05242e5387.png)]
点击右侧的文件夹图标,可以直接连接到远程主机进行选择python
解析器,比如我这里创建的conda
虚拟环境
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qLoRrIid-1593586112013)(https://image.xugaoxiang.com/imgs/2020/06/19ecdc1d673a4688.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vJVmnCjS-1593586112019)(https://image.xugaoxiang.com/imgs/2020/06/c8c9008e19cc2dd6.png)]
创建好了以后,就可以在项目中使用这个解析器了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2kk2xjvO-1593586112025)(https://image.xugaoxiang.com/imgs/2020/06/cb7f7b30aadf9e51.png)]
下面创建一个新的项目,Project Interpreter
选择刚才创建好的远程python
解析器,Remote project location
这里要特别注意一下,可以通过右侧的文件夹图标进行远程选择。由于之前的Root paths
已经设置了/home/xugaoxiang
,所以如果想把当前项目推送到远程目录/home/xugaoxiang/workshop
的话,这里就只需要写上workshop
,如果写上/home/xugaoxiang/workshop
的话,那远程的目录结构就变成/home/xugaoxiang/home/xugaoxiang/workshop
了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kfz5NR6V-1593586112030)(https://image.xugaoxiang.com/imgs/2020/06/65aa24dc32160172.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7JvQVft9-1593586112037)(https://image.xugaoxiang.com/imgs/2020/06/48fbf677d9ba9ab8.png)]
在新的项目里,我们新建一个源码文件main.py
,在文件中写上测试语句,保存后,pycharm
就开始将文件推送到远程主机了。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s3rVot69-1593586112044)(https://image.xugaoxiang.com/imgs/2020/06/57a52462fd05f7f9.png)]
点击Run
--> Debug
就可以进行远程调试了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xVL0Iw5J-1593586112053)(https://image.xugaoxiang.com/imgs/2020/06/3f7f94351b3c7fc1.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EKyxx2qh-1593586112059)(https://image.xugaoxiang.com/imgs/2020/06/ed233f5e4522f5c3.png)]
最后看看远程主机的文件目录结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hBDesPQt-1593586112075)(https://image.xugaoxiang.com/imgs/2020/07/a34941f14d520984.png)]