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从ftp下载数据保存实例
Nov 20 Python
Python迭代用法实例教程
Sep 08 Python
python利用requests库进行接口测试的方法详解
Jul 06 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
pip指定python位置安装软件包的方法
Jul 12 Python
python 3.6.7实现端口扫描器
Sep 04 Python
Pytorch 实现冻结指定卷积层的参数
Jan 06 Python
python网络编程之五子棋游戏
May 14 Python
Python 解决相对路径问题:"No such file or directory"
Jun 05 Python
Python如何使用27行代码绘制星星图
Jul 20 Python
Python数据库封装实现代码示例解析
Sep 05 Python
Matplotlib配色之Colormap详解
Jan 05 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
php下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
jQuery 获取URL参数的插件
2010/03/04 Javascript
prettify 代码高亮着色器google出品
2010/12/28 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
2013/01/17 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
限制复选框最多选择项的实现代码
2016/05/30 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
2017/09/21 Javascript
axios发送post请求,提交图片类型表单数据方法
2018/03/16 Javascript
详解Vue源码之数据的代理访问
2018/12/11 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
vue配置文件实现代理v2版本的方法
2019/06/21 Javascript
JavaScript实现图片放大镜效果
2019/06/27 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
JavaScript实现移动端拖动元素
2020/11/24 Javascript
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
python调用百度地图WEB服务API获取地点对应坐标值
2019/01/16 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
python操作文件的参数整理
2019/06/11 Python
python中字典增加和删除使用方法
2020/09/30 Python
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
社团文化节邀请函
2014/01/10 职场文书
战略合作协议书范本
2014/04/18 职场文书
电子专业求职信
2014/06/19 职场文书
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫