vscode 调试python 无法连接远程服务器_vscode 远程调试python的方法
此文介紹了vscode 遠(yuǎn)程調(diào)試python的方法,分享給大伙,具有如下:
實(shí)驗(yàn)環(huán)境
遠(yuǎn)程服務(wù)器:京東云,1核2G,centos7.3 64bit
本地環(huán)境配置
安裝vscode,實(shí)驗(yàn)用的版本是1.10.2
vscode配置python插件,實(shí)驗(yàn)用的python插件版本是0.7.0
vscode配置python遠(yuǎn)程調(diào)試環(huán)境
在.vscode文件夾新建一個(gè)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)試的遠(yuǎn)程項(xiàng)目路徑,port是調(diào)試要打開的端口,host是遠(yuǎn)程服務(wù)器IP地址
服務(wù)器環(huán)境配置
首先要安裝一個(gè)python庫(kù),叫做ptvsd,但是注意版本要用3.0.0,用了高一點(diǎn)版本就出問(wèn)題。
然后在你的入口文件加上下面的代碼(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ù)器啟動(dòng)工程
在vscode里面打好斷點(diǎn)
在vscode運(yùn)行調(diào)試即可
解決flask debug遠(yuǎn)程調(diào)試無(wú)法捕捉數(shù)據(jù)問(wèn)題
上代碼:
# 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)
原理:因?yàn)閒lask在debug模式下,是fork一個(gè)子進(jìn)程來(lái)處理http請(qǐng)求,所以應(yīng)該在子進(jìn)程調(diào)用ptvsd.settrace(None, ('0.0.0.0', 12345))
上面即是這篇文章的內(nèi)容,希望對(duì)各位的學(xué)習(xí)有所啟發(fā),也希望大家多多支持學(xué)貓?jiān)诰€(shtml.net)。
本文來(lái)源:http://blog.yubangweb.com/vscode-yuan-cheng-diao-shi-python/
總結(jié)
以上是生活随笔為你收集整理的vscode 调试python 无法连接远程服务器_vscode 远程调试python的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 编译其他mysql客户程_mysql编译
- 下一篇: python字符串单个替换_如何用变量替