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将mdb数据库文件导入postgresql数据库示例
Feb 17 Python
Python fileinput模块使用介绍
Nov 30 Python
python基于windows平台锁定键盘输入的方法
Mar 05 Python
让python在hadoop上跑起来
Jan 27 Python
Python中super()函数简介及用法分享
Jul 11 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
Jan 24 Python
Django与JS交互的示例代码
Aug 23 Python
树莓派+摄像头实现对移动物体的检测
Jun 22 Python
python 字典的打印实现
Sep 26 Python
Python函数的默认参数设计示例详解
Dec 01 Python
Python面向对象原理与基础语法详解
Jan 02 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 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
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
php之readdir函数用法实例
2014/11/13 PHP
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
2007/05/07 Javascript
Ajax搜索结果页面下方的分页按钮的生成
2012/04/05 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
JS非Alert实现网页右下角“未读信息”效果弹窗
2015/09/26 Javascript
Extjs让combobox写起来简洁又漂亮
2017/01/05 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
vue在图片上传的时候压缩图片
2020/11/18 Vue.js
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
Python计算已经过去多少个周末的方法
2015/07/25 Python
python 禁止函数修改列表的实现方法
2017/08/03 Python
Python实现一个简单的验证码程序
2017/11/03 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
Python 新建文件夹与复制文件夹内所有内容的方法
2018/10/27 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
python实现在内存中读写str和二进制数据代码
2020/04/24 Python
Python基于Tkinter编写crc校验工具
2020/05/06 Python
通过代码实例了解Python sys模块
2020/09/14 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
2020/11/13 Python
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
英语翻译系毕业生求职信
2013/09/29 职场文书
创意活动策划书
2014/01/15 职场文书
大学竞选班干部演讲稿
2014/08/21 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
Python操作CSV格式文件的方法大全
2021/07/15 Python