vscode 远程调试python的方法


Posted in Python onDecember 01, 2017

本文介绍了vscode 远程调试python的方法,分享给大家,具有如下:

实验环境

远程服务器:京东云,1核2G,centos7.3 64bit

本地环境配置

  1. 安装vscode,实验用的版本是1.10.2
  2. vscode配置python插件,实验用的python插件版本是0.7.0
  3. vscode配置python远程调试环境

在.vscode文件夹新建一个launch.json文件,然后填写下面的代码

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Attach (Remote Debug)",
      "type": "python",
      "request": "attach",
      "localRoot": "${workspaceRoot}",
      "remoteRoot": "/tmp/demo",
      "port": 12345,
      "secret": "my_secret",
      "host": "10.12.34.23"
    }
  ]
}

注意:/var/web换成要调试的远程项目路径,port是调试要打开的端口,host是远程服务器IP地址

服务器环境配置

首先要安装一个python库,叫做ptvsd,但是注意版本要用3.0.0,用了高一点版本就出问题。

然后在你的入口文件加上下面的代码(12345改成调试端口):

import ptvsd
ptvsd.settrace(None, ('0.0.0.0', 12345))

完整python代码:

# coding:UTF-8

import ptvsd
ptvsd.settrace(None, ('0.0.0.0', 12345))

from time import sleep
from random import random

for _ in xrange(0, 50):
  sleep(5)
  i = random()
  print(i)

开始调试

  1. 在服务器启动工程
  2. 在vscode里面打好断点
  3. 在vscode运行调试即可

vscode 远程调试python的方法

解决flask debug远程调试无法捕捉数据问题

上代码:

# coding:UTF-8

  from flask import Flask

  import ptvsd

  import socket

  try:

    address = ('127.0.0.1', 11111)

    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    s.bind(address)

  except socket.error:

    ptvsd.settrace(None, ('0.0.0.0', 12345))


  app = Flask(__name__)


  @app.route('/')

  def index():

    a = 5 + 6

    return "ok"


  if __name__ == '__main__':

    app.run(host='0.0.0.0', port=3000, debug=True)

原理:因为flask在debug模式下,是fork一个子进程来处理http请求,所以应该在子进程调用ptvsd.settrace(None, ('0.0.0.0', 12345))

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

Python 相关文章推荐
python读取Android permission文件
Nov 01 Python
django 使用 request 获取浏览器发送的参数示例代码
Jun 11 Python
基于Python的PIL库学习详解
May 10 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
Jul 03 Python
Django 实现图片上传和显示过程详解
Jul 18 Python
python中的&&及||的实现示例
Aug 07 Python
python实现银行管理系统
Oct 25 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
Pycharm制作搞怪弹窗的实现代码
Feb 19 Python
Python如何把不同类型数据的json序列化
Apr 30 Python
Flask response响应的具体使用
Jul 15 Python
python读取mnist数据集方法案例详解
Sep 04 Python
Python中单、双下划线的区别总结
Dec 01 #Python
从CentOS安装完成到生成词云python的实例
Dec 01 #Python
Django的分页器实例(paginator)
Dec 01 #Python
浅谈python装饰器探究与参数的领取
Dec 01 #Python
Python简单读取json文件功能示例
Nov 30 #Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
Nov 30 #Python
Python实现的多线程同步与互斥锁功能示例
Nov 30 #Python
You might like
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
PHP实现根据银行卡号判断银行
2015/04/29 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
奇妙的js
2007/09/24 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
javascript中Object使用详解
2015/01/26 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
js获取元素的外链样式的简单实现方法
2016/06/06 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
2018/01/03 Javascript
Koa 使用小技巧(小结)
2018/10/22 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
Django中的ajax请求
2018/10/19 Python
用Python读取几十万行文本数据
2018/12/24 Python
python实现手机销售管理系统
2019/03/19 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
Pyqt5自适应布局实例
2019/12/13 Python
pandas中的数据去重处理的实现方法
2020/02/10 Python
基于python3的socket聊天编程
2020/02/17 Python
运行python提示no module named sklearn的解决方法
2020/11/29 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
Charlotte Tilbury英国官网:英国彩妆品牌
2017/05/26 全球购物
会计专业毕业自荐书范文
2014/02/08 职场文书
高校教师岗位职责
2014/03/18 职场文书
检讨书范文300字
2015/01/28 职场文书
毕业证明书
2015/06/19 职场文书
回门宴新娘答谢词
2015/09/29 职场文书