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 27 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
Jun 04 Python
彻底搞懂Python字符编码
Jan 23 Python
利用python库在局域网内传输文件的方法
Jun 04 Python
django如何连接已存在数据的数据库
Aug 14 Python
Python中Proxypool库的安装与配置
Oct 19 Python
python使用yield压平嵌套字典的超简单方法
Nov 02 Python
python将邻接矩阵输出成图的实现
Nov 21 Python
Python3 中sorted() 函数的用法
Mar 24 Python
Jupyter Notebook添加代码自动补全功能的实现
Jan 07 Python
Python Pandas pandas.read_sql函数实例用法
Jun 21 Python
pytorch中的torch.nn.Conv2d()函数图文详解
Feb 28 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
不用iconv库的gb2312与utf-8的互换函数
2006/10/09 PHP
php开启openssl的方法
2014/05/15 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
PHP+JS实现大规模数据提交的方法
2015/07/02 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/03 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
基于pandas数据样本行列选取的方法
2018/04/20 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
python实现自动发送邮件
2018/06/20 Python
Python文件常见操作实例分析【读写、遍历】
2018/12/10 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
python中matplotlib实现随鼠标滑动自动标注代码
2020/04/23 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
学生打架检讨书
2014/02/14 职场文书
黄金酒广告词
2014/03/21 职场文书
《厄运打不垮的信念》教学反思
2014/04/13 职场文书
活动总结格式范文
2014/04/26 职场文书
大专生自荐书范文
2014/06/22 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
一年级语文下册复习计划
2015/01/17 职场文书