vscode 遠程調(diào)試python的方法
本文介紹了vscode 遠程調(diào)試python的方法,分享給大家,具有如下:
實驗環(huán)境
遠程服務(wù)器:京東云,1核2G,centos7.3 64bit
本地環(huán)境配置
- 安裝vscode,實驗用的版本是1.10.2
- vscode配置python插件,實驗用的python插件版本是0.7.0
- vscode配置python遠程調(diào)試環(huán)境
在.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換成要調(diào)試的遠程項目路徑,port是調(diào)試要打開的端口,host是遠程服務(wù)器IP地址
服務(wù)器環(huán)境配置
首先要安裝一個python庫,叫做ptvsd,但是注意版本要用3.0.0,用了高一點版本就出問題。
然后在你的入口文件加上下面的代碼(12345改成調(diào)試端口):
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)
開始調(diào)試
- 在服務(wù)器啟動工程
- 在vscode里面打好斷點
- 在vscode運行調(diào)試即可

解決flask debug遠程調(diào)試無法捕捉數(shù)據(jù)問題
上代碼:
# 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請求,所以應(yīng)該在子進程調(diào)用ptvsd.settrace(None, ('0.0.0.0', 12345))
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于python實現(xiàn)監(jiān)聽Rabbitmq系統(tǒng)日志代碼示例
這篇文章主要介紹了基于python實現(xiàn)監(jiān)聽Rabbitmq系統(tǒng)日志代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
使用Python實現(xiàn)在Windows下安裝Django
今天小編就為大家分享一篇關(guān)于使用Python實現(xiàn)在Windows下安裝Django,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10
Python中不可變數(shù)據(jù)類型原理與實戰(zhàn)全解析
在Python的世界里,數(shù)據(jù)對象被明確劃分為兩大陣營:可變(Mutable)與不可變(Immutable),而本文將為大家詳細介紹一下其中的不可變數(shù)據(jù),感興趣的可以了解下2025-04-04
python使用response.read()接收json數(shù)據(jù)的實例
今天小編就為大家分享一篇python使用response.read()接收json數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Matplotlib中%matplotlib inline如何使用
這篇文章主要介紹了Matplotlib中%matplotlib inline如何使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Python如何批量處理經(jīng)緯度數(shù)據(jù)并生成位置信息
這篇文章主要介紹了Python如何批量處理經(jīng)緯度數(shù)據(jù)并生成位置信息問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08

