国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

使用Visual Studio Code編寫(xiě)調(diào)試Python Flask程序

gotham / 1500人閱讀

摘要:最近由于工作關(guān)系,開(kāi)始寫(xiě)程序,同事有用的,有用的。第一種適合及以上版本,因?yàn)樵诎姹酒穑霈F(xiàn)了文件,配置可以寫(xiě)成用文件啟動(dòng)程序,實(shí)測(cè)可以觸發(fā)斷點(diǎn)。

最近由于工作關(guān)系,開(kāi)始寫(xiě)flask web程序,同事有用Vim的,有用PyCharm的。在調(diào)研了一通python的編輯器,IDE之后,發(fā)現(xiàn)Visual Studio Code相對(duì)比較適合我。

VSC有相對(duì)較全的功能,比較好看舒服的主題,良好的用戶(hù)體驗(yàn)(我現(xiàn)在用Mac),啟動(dòng)速度較快,插件體系強(qiáng)大。現(xiàn)將VSC的安裝配置過(guò)程記錄如下。

前置條件是,python 2.7 已經(jīng)安裝完成,pip也已經(jīng)搞定。

首先在Microsoft Visual Studio Code 網(wǎng)站上下載安裝程序,選擇對(duì)應(yīng)的平臺(tái),我的是osx的。

安裝完成后,啟動(dòng)VSC,按 cmd+shift+P,啟動(dòng)快速命令攔,輸入ext ins,就會(huì)發(fā)現(xiàn)第一個(gè)選項(xiàng)是安裝插件,點(diǎn)擊回車(chē)來(lái)到插件邊欄。或者可以直接點(diǎn)擊最左邊一列圖標(biāo)最下面那個(gè),也會(huì)彈出插件邊欄。在插件邊欄輸入Python搜索,安裝Python 0.6.0插件。

安裝插件完成之后,點(diǎn)擊插件上的重新載入,或者重啟VSC,以便于載入插件。至此安裝完成,下面開(kāi)始編輯器配置。

VSC采用了類(lèi)似Sublime Text的全局->用戶(hù)->工作區(qū)層級(jí)配置的概念,后者可以覆蓋前者,用戶(hù)只能編輯用戶(hù)配置喝工程配置,全局配置都是默認(rèn)的。有一點(diǎn)VSC做的特別好的是,整個(gè)軟件的本地化特別好,連配置文件中也都是中文注釋。如果鼠標(biāo)懸浮到用戶(hù)或者工作區(qū)的某項(xiàng)配置上,會(huì)有個(gè)popup中文顯示當(dāng)前配置項(xiàng)的含義。如果想覆蓋并修改全局配置中的某一項(xiàng),可以懸浮到該配置項(xiàng)上,可以看到文字左邊出現(xiàn)了一個(gè)鉛筆樣的圖標(biāo),點(diǎn)擊這個(gè)圖標(biāo)即可將這條配置復(fù)制到用戶(hù)或者全局配置中做出修改,做的非常人性化。

比如我的用戶(hù)配置如下:

{
    "workbench.colorTheme": "Material Theme",
    "editor.fontSize": 13,
    "editor.lineHeight": 18,
    "editor.rulers": [80,100],
    // 配置 glob 模式以排除文件和文件夾。
    "files.exclude": {
        "**/*.pyc":true,
        "**/*.pyo":true,
        "**/.idea":true,
        "**/.settings":true,
        "**/.vscode":true,
        "**/.project":true,
        "**/.pydevproject":true
    },
    "python.linting.pylintEnabled": false,
    "editor.fontFamily": "Hack"
}

下載并使用了一個(gè)好看的主題Material Theme,字號(hào)調(diào)大到13,此時(shí)默認(rèn)行高為20,我覺(jué)得太大,調(diào)整到18,配置文件列表中不顯示某些后綴的文件,避免影響視野,同時(shí)下載了一個(gè)開(kāi)源程序字體Hack,配置為唯一顯示字體。

其中最需要注意的是python.linting.pylintEnabled這個(gè)選項(xiàng),我把pylint關(guān)掉了。或許是pylint本身的問(wèn)題或者是集成的問(wèn)題,pylint對(duì)flask的解析總是時(shí)對(duì)時(shí)錯(cuò),關(guān)閉是最好選擇。

對(duì)于Flask工程本身的配置,需要添加到工作區(qū)配置中。由于我們會(huì)經(jīng)常用到virtual env,所以實(shí)際上關(guān)鍵需要配置python命令本身的路徑如下(跟具體virtualenv的設(shè)置有關(guān)):

{
    "python.pythonPath": "${workspaceRoot}/venv/bin/python"
}

到這里,配置已經(jīng)能夠滿(mǎn)足python工程的高亮,代碼補(bǔ)全等編寫(xiě)功能了,快捷鍵也可以通過(guò)配置文件修改,配合VSC自帶的能力,已經(jīng)基本OK了,下面是Flask Debug的配置。

這點(diǎn)消耗了我相當(dāng)長(zhǎng)時(shí)間。官網(wǎng)給提供了兩種方式,都可以實(shí)現(xiàn)。

第一種適合Flask 0.11及以上版本,因?yàn)樵?.11版本起,出現(xiàn)了venv/bin/flask文件,配置可以寫(xiě)成:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Flask",
            "type": "python",
            "request": "launch",
            "stopOnEntry": false,
            "pythonPath": "${config.python.pythonPath}",
            "program": "${workspaceRoot}/venv/bin/flask",
            "env": {
                "FLASK_APP": "${workspaceRoot}/app.py"
            },
            "args": [
                "run",
                "--no-debugger",
                "--no-reload"
            ],
            "debugOptions": [
                "WaitOnAbnormalExit",
                "WaitOnNormalExit",
                "RedirectOutput"
            ]
        }
    ]
}

用flask.py文件啟動(dòng)Flask程序,實(shí)測(cè)可以觸發(fā)斷點(diǎn)。

對(duì)于在0.11以下版本的Flask而言,可以采用第二種方式:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python",
            "type": "python",
            "request": "launch",
            "stopOnEntry": false,
            "pythonPath": "${config.python.pythonPath}",
            "program": "${file}",
            "debugOptions": [
                "WaitOnAbnormalExit",
                "WaitOnNormalExit",
                "RedirectOutput"
            ]
        }
    ]
}

切記!!! Flask在啟動(dòng)時(shí)必須指定 app.run(debug=False),一定不能開(kāi)啟調(diào)試!否則無(wú)法命中斷點(diǎn)。

調(diào)試時(shí)啟動(dòng)Flask程序的入口文件即可,也可以將${file}替換為實(shí)際的入口文件,這樣不用每次都切換到該文件才能開(kāi)啟調(diào)試。實(shí)測(cè)OK。

還有一種可以遠(yuǎn)程調(diào)試的方法:
需要先pip install ptvsd

if __name__ == "__main__":
    import ptvsd
    import socket
    try:
        address = ("127.0.0.1", 12345)
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.bind(address)
    except socket.error:
        ptvsd.enable_attach(None, address=("0.0.0.0", 8000))
    manager.run()

manager.run()或者app.run()之前,加入如上代碼,在8000端口開(kāi)啟遠(yuǎn)程調(diào)試(不是http服務(wù)的端口!)

比如從shell啟動(dòng)此Flask程序,VSC配置如下,F(xiàn)lask啟動(dòng)好之后啟動(dòng)調(diào)試監(jiān)聽(tīng)在8000端口上即可:

{
    "name": "Attach (Remote Debug)",
    "type": "python",
    "request": "attach",
    "localRoot": "${workspaceRoot}",
    "remoteRoot": "${workspaceRoot}",
    "port": 8000,
    "host": "localhost"
}

注意遠(yuǎn)程和本地的源碼路徑的前綴必須配置正確!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/45538.html

相關(guān)文章

  • Visual Studio Code 中配置 Python Flask 環(huán)境

    摘要:更改執(zhí)行策略可能會(huì)產(chǎn)生安全風(fēng)險(xiǎn),如中的幫助主題所述。如果出現(xiàn)選擇環(huán)境,我們選擇。在中,我們僅保留這一段。在中,我們新建一個(gè)文件,名為。到此,我們的環(huán)境配置就完成了。 在 Visual Studio Code 中配置 Python Flask 環(huán)境 本文由 赤石俊哉 原創(chuàng)編寫(xiě),您可以在學(xué)習(xí)交流用途以?xún)?nèi)自由使用文章。 但是禁止抄襲文章,轉(zhuǎn)載時(shí),請(qǐng)注明來(lái)源地址,謝謝。最后更新時(shí)間: 20...

    gself 評(píng)論0 收藏0
  • Top 10 JavaScript編輯器,你在用哪個(gè)?

    摘要:在這個(gè)編輯器中,和是其中排名靠前的兩個(gè)。是一個(gè)免費(fèi)的輕量級(jí)編輯器和,用于和開(kāi)發(fā)。對(duì)于免費(fèi)的代碼編輯器來(lái)說(shuō),是一個(gè)很好的選擇。可以安裝兩個(gè)命令行實(shí)用程序,用于從啟動(dòng)編輯器,用于管理的軟件包。 對(duì)于JavaScript程序員來(lái)說(shuō),目前有很多很棒的工具可供選擇。本文將會(huì)討論10個(gè)優(yōu)秀的支持javascript,HTML5和CSS開(kāi)發(fā),并且可以使用Markdown進(jìn)行文檔編寫(xiě)的文本編輯器。為什...

    zombieda 評(píng)論0 收藏0
  • 后端API從入門(mén)到放棄指北

    摘要:菜鳥(niǎo)教程框架中文手冊(cè)入門(mén)目標(biāo)使用搭建通過(guò)對(duì)數(shù)據(jù)增刪查改沒(méi)了純粹占行用的拜 后端API入門(mén)學(xué)習(xí)指北 了解一下一下概念. RESTful API標(biāo)準(zhǔn)] 所有的API都遵循[RESTful API標(biāo)準(zhǔn)]. 建議大家都簡(jiǎn)單了解一下HTTP協(xié)議和RESTful API相關(guān)資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設(shè)計(jì)指南 RESTful API指南 依賴(lài)注入 D...

    Jeffrrey 評(píng)論0 收藏0
  • 后端API從入門(mén)到放棄指北

    摘要:菜鳥(niǎo)教程框架中文手冊(cè)入門(mén)目標(biāo)使用搭建通過(guò)對(duì)數(shù)據(jù)增刪查改沒(méi)了純粹占行用的拜 后端API入門(mén)學(xué)習(xí)指北 了解一下一下概念. RESTful API標(biāo)準(zhǔn)] 所有的API都遵循[RESTful API標(biāo)準(zhǔn)]. 建議大家都簡(jiǎn)單了解一下HTTP協(xié)議和RESTful API相關(guān)資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設(shè)計(jì)指南 RESTful API指南 依賴(lài)注入 D...

    sf190404 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<