vscode 远程调试python的方法
作者:yubang 时间:2021-09-07 23:00:59
本文介绍了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))
来源:http://blog.yubangweb.com/vscode-yuan-cheng-diao-shi-python/
标签:vscode,调试,python
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
详解python使用Nginx和uWSGI来运行Python应用
2023-07-25 20:40:55
写给喜欢用DW编写CSS人的一些建议
2008-05-19 12:09:00
asp中Adodb.Stream 的使用说明
2007-09-11 13:53:00
ASP动态生成的javascript表单验证代码
2008-10-13 20:11:00
Python字典深浅拷贝与循环方式方法详解
2022-08-04 08:52:25
![](https://img.aspxhome.com/file/2023/7/71317_0s.png)
10个很实用的js小脚本代码
2007-10-17 21:08:00
如何获取文件的名称和扩展名?
2009-11-23 20:50:00
什么是网站灵魂?
2007-09-08 08:25:00
菜鸟来看看:制作个人主页有诀窍
2007-10-05 09:03:00
PHP hebrev()函数用法讲解
2023-06-03 12:49:32
![](https://img.aspxhome.com/file/2023/6/55386_0s.png)
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2023-09-04 13:50:42
python使用selenium打开chrome浏览器时带用户登录信息实现过程详解
2023-07-19 05:00:37
![](https://img.aspxhome.com/file/2023/8/60298_0s.jpg)
如何对MySQL数据库日志文件进行维护
2009-02-04 13:23:00
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2023-11-18 01:11:16
错误的随机数_JavaScript
2009-08-28 12:43:00
Firefox 的 Jetpack 扩展案例分析:Gmail 邮件提醒
2009-10-15 12:41:00
![](https://img.aspxhome.com/file/UploadPic/200910/15/gmail01-18s.png)
Django Sitemap 站点地图的实现方法
2023-05-27 07:40:17
python利用元类和描述器实现ORM模型的详细步骤
2023-11-13 14:54:12
Python提取支付宝和微信支付二维码的示例代码
2021-04-08 19:38:42
![](https://img.aspxhome.com/file/2023/2/70242_0s.jpg)
asp fso创建与删除文件与文件夹
2008-12-31 16:07:00