Pycharm配置远程调试的方法步骤


Posted in Python onDecember 17, 2018

动机

  • 一些bug由于本地环境和线上环境的不一致可能导致本地无法复现
  • 本地依赖和线上依赖版本不一致也可以导致一些问题
  • 有时一些bug跟数据相关,本地数据无法和线上数据一致
  • 有些三方平台会验证服务器的合法性或者异步回调结果,如微信支付,这时候本地无法测试

如上所诉,要是有一个很方便调试远程服务器的方法,岂不美哉。通过PyCharm我们可以很方便地实现远程调试,下面详细介绍下PyCharm这个牛叉的功能。

使用远程解释器

默认情况下我们在本地开发Python程序时,使用的是本地的Python解释器,如果你安装了virtualenv或者pyenv的话,还可以选择这些虚拟环境。而使用Pycharm的专业版,则还可以选择使用远程Linux机器上的解释器。下面就来介绍下使用远程解释器的步骤。

添加远程部署

打开pycharm,tools-->Deployment-->Configuration

Pycharm配置远程调试的方法步骤

点击左边“+”添加远程服务器,随便起个名字,选择SFTP

Pycharm配置远程调试的方法步骤

配置connection

Pycharm配置远程调试的方法步骤

配置Mappings

Pycharm配置远程调试的方法步骤

配置Excluded Paths(可选)

Pycharm配置远程调试的方法步骤

最后点击OK即可

再次打开部署选项,可以发现现在可以直接部署代码到服务器了,也可以直接下载带代码到本地,同时自动上传(Automatic Upload)是默认勾选的,我一般会把它去掉,防止一些本地测试代码上传上去

Pycharm配置远程调试的方法步骤

新增一个文件,查看deployment 选项,这时候就可以上传到远程服务器了

Pycharm配置远程调试的方法步骤

添加远程解释器

远程部署仅仅只是同步和拷贝文件,要真正实现远程调试还需要配置远程解释器

设置页面找到“Project Interpreter” --> 设置-->Add

Pycharm配置远程调试的方法步骤

选择“SSH Interpreter” --> "Existing server configuration" --> 选择刚才创建的部署配置,使用‘'Create“或者”Move“ 都OK

Pycharm配置远程调试的方法步骤

点击下一步,这时会进行连接远程服务器,稍等一会,会出现以下界面,稍微配置下,点击“Finish”即可

Pycharm配置远程调试的方法步骤

最后使用远程解释器,点击“OK”,返回到项目界面,等待同步完成即可

Pycharm配置远程调试的方法步骤

远程调试

这里根据自己的具体项目情况而定,我这里是 Flask+阿里云+nginx+运行脚本 的一个例子

新增一个 run configuration

Pycharm配置远程调试的方法步骤

Pycharm配置远程调试的方法步骤

Pycharm配置远程调试的方法步骤

运行脚本代码如下,这里使用了8000的端口

Host要配置为0.0.0.0

Pycharm配置远程调试的方法步骤

nginx 配置8000 端口

server {
  listen  8000 ;
  listen  [::]:8000 ;
  server_name _;
  root   /usr/share/nginx/html;
  access_log /var/log/nginx/access_8000.log main;
  error_log /var/log/nginx/error_8000.log;

  # Load configuration files for the default server block.
  include /etc/nginx/default.d/*.conf;
  location / {
		proxy_pass http://127.0.0.1:8000;
		proxy_set_header Host $host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

  error_page 404 /404.html;
   location = /40x.html {
  }

  error_page 500 502 503 504 /50x.html;
   location = /50x.html {
  }
 }

要是使用阿里云,还需要安全组开放8000 端口 断点运行

Pycharm配置远程调试的方法步骤

Pycharm配置远程调试的方法步骤

出现上图所示的时候,恭喜你,你已经可以断点调试远程服务器了

我们打一个断点,然后试着访问一个API服务: xx.xx.xx.xx:8000/api/pages/b…

完美断上

Pycharm配置远程调试的方法步骤

补充说明

不建议在正式服务器使用这个功能,可以在测试服务器使用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python检测某个变量是否有定义的方法
May 20 Python
Python 描述符(Descriptor)入门
Nov 20 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
Oct 16 Python
python+pygame实现坦克大战
Sep 10 Python
python 调试冷知识(小结)
Nov 11 Python
Python常用模块logging——日志输出功能(示例代码)
Nov 20 Python
利用Python如何实时检测自身内存占用
May 09 Python
python能否java成为主流语言吗
Jun 22 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
Dec 08 Python
Python爬虫+Tkinter制作一个翻译软件的示例
Feb 20 Python
Python中Qslider控件实操详解
Feb 20 Python
python实战之用emoji表情生成文字
May 08 Python
Python解析、提取url关键字的实例详解
Dec 17 #Python
Django Rest framework之认证的实现代码
Dec 17 #Python
python web自制框架之接受url传递过来的参数实例
Dec 17 #Python
Django Rest framework之权限的实现示例
Dec 17 #Python
Python3爬虫教程之利用Python实现发送天气预报邮件
Dec 16 #Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 #Python
python使用插值法画出平滑曲线
Dec 15 #Python
You might like
PHPThumb图片处理实例
2014/05/03 PHP
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
jQuery中filter(),not(),split()使用方法
2010/07/06 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
js实现常用排序算法
2016/08/09 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
2017/09/19 Javascript
vue中的scope使用详解
2017/10/29 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
详解jquery和vue对比
2019/04/16 jQuery
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
React传值 组件传值 之间的关系详解
2019/08/26 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
numpy自动生成数组详解
2017/12/15 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
python cv2截取不规则区域图片实例
2019/12/21 Python
python实现简单俄罗斯方块
2020/03/13 Python
python 实现逻辑回归
2020/12/30 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
酒店服务与管理毕业生求职信
2013/11/02 职场文书
四年大学生活的个人自我评价
2013/12/11 职场文书
大学生创业计划书的范文
2014/01/07 职场文书
组织关系转移介绍信
2014/01/16 职场文书
给老婆大人的检讨书
2014/02/24 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
老人院义工活动感想
2015/08/07 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
小学教代会开幕词
2016/03/04 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
Python+Appium自动化测试的实战
2021/06/30 Python
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript