本文介紹了vscode 遠程調試python的方法,分享給大家,具有如下:
實驗環境
遠程服務器:京東云,1核2G,centos7.3 64bit
本地環境配置
在.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 ptvsdptvsd.settrace(None, ('0.0.0.0', 12345))完整python代碼:
# coding:UTF-8import ptvsdptvsd.settrace(None, ('0.0.0.0', 12345))from time import sleepfrom random import randomfor _ in xrange(0, 50):  sleep(5)  i = random()  print(i)開始調試

解決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))
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答