vscode 远程调试python的方法
本文介绍了vscode 远程调试python的方法,分享给大家,具有如下:
实验环境
远程服务器:京东云,1核2G,centos7.3 64bit
本地环境配置
安装vscode,实验用的版本是1.10.2 vscode配置python插件,实验用的python插件版本是0.7.0 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)
开始调试
在服务器启动工程 在vscode里面打好断点 在vscode运行调试即可解决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的时候,很多人都不理解为什么在方法(method)前面会加好几个下划线,有时甚至两边都会加,比如像__this__这种。在我看到上面的文章之前
Python用户推荐系统曼哈顿算法实现完整代码
出租车几何或曼哈顿距离(ManhattanDistance)是由十九世纪的赫尔曼·闵可夫斯基所创词汇,是种使用在几何度量空间的几何学用语,用以标明两个点在标
Python进阶学习之特殊方法实例详析
前言最近在学习python,学习到了一个之前没接触过的--特殊方法。什么是特殊方法?当我们在设计一个类的时候,python中有一个用于初始化的方法$__init__
编辑:一起学习网
标签:方法,下划线,曼哈顿,代码,版本