美文网首页程序员
vscode debug flask

vscode debug flask

作者: _青菜_ | 来源:发表于2018-01-13 10:36 被阅读945次

一、前言

之前开发一直用Jetbrains旗下的Pycharm,该系列每个IDE产品都很惊艳。在GoLand还没出来的时候,Pycharm可以轻松集成golang环境进行开发,也可以轻松的集成DataGrip数据库管理工具,该工具可以管理所有的关系型数据库。深感Amazing
可是,问题也很明显,每次打开项目都要很久。于是在试用了VS Code之后,果断投奔到它的怀抱了。
编辑器,IDE,IDEA总是有同学搞不清这几个名词。文本编辑器通常是文件编辑为主要功能的软件,代表的有sublime,notepad++等。IDE是集成开发环境,一般包括代码编辑、编译器、调试器和图形用户界面等工具,代表的如Visual Studio,Eclipse,IntelliJ IDEA等。而IDEA是IntelliJ IDEA的简称。
VS Code特点就是轻量而且功能强大。下面就开始介绍一下vsode debug flask配置。

二、干货

工作环境:macos,Python3
vs code官方有给出配置文档,但是更新速度远不及vs code的更新速度,部分配置项vs code已经不兼容。
于是从网上下手,基础配置请先参考https://segmentfault.com/a/1190000008742844
下面是该文章给出的debug配置:

{
            "name": "Python: Flask (0.11.x or later)",
            "type": "python",
            "request": "launch",
            "stopOnEntry": false,
            "pythonPath": "${config:python.pythonPath}",
            "program": "${workspaceRoot}/env/bin/flask",
            "env": {
                "FLASK_APP": "${workspaceRoot}/app.py"
            },
            "args": [
                "run",
                "--no-debugger",
                "--no-reload"
            ],
            "debugOptions": [
                "RedirectOutput"
            ]
        },

按照这个配置完成后并不能直接启动,而是出现了

Traceback (most recent call last):
  ...
RuntimeError: Click will abort further execution because Python 3 was
  configured to use ASCII as encoding for the environment. Either switch
  to Python 2 or consult http://click.pocoo.org/python3/ for
  mitigation steps

解决方案就是全局设置:

export LC_ALL=zh_CN.UTF-8
export LANG=zh_CN.UTF-8

之后重启vscode。确实debug可以了而且flask 本身的debug是否开启对此并无影响,但是更改代码之后不会reload ,而且flask config中设置的监听port并不会生效。

于是,我们还是用python去调试,下面是本人自己尝试的结果:

{
            "name": "Python: Flask (customer)",
            "type": "python",
            "request": "launch",
            "stopOnEntry": false,
            "pythonPath": "${config:python.pythonPath}",
            "program": "${workspaceRoot}/app.py",
            "env": {
                // "FLASK_APP": "${workspaceRoot}/app.py"
            },
            "args": [
                "run",
                "--no-debugger",
                "--no-reload"
            ],
            "debugOptions": [
                "RedirectOutput"
            ]
        },

能debug,而且编辑了py文件后会自动reload。该配置一定要设置Flsk DEBUG = False算是一点缺陷,但已经能节省很多手动reload的时间了。

相关文章

  • vscode debug flask

    一、前言 之前开发一直用Jetbrains旗下的Pycharm,该系列每个IDE产品都很惊艳。在GoLand还没出...

  • VSCode - Php debug调试

    安装 VSCode Php Debug 扩展 运行 VSCode 打开扩展 输入 PHP Debug 安装 安装 ...

  • 1.3 flask 项目配置

    项目配置 设置为DEBUG模式 默认情况下flask不会开启DEBUG模式,开启DEBUG模式后,flask会在每...

  • MacOS vscode can not run

    MacOS vscode can not run and debug vscode can not run and...

  • vscode配置PHP Debug

    感谢作者,此篇文章非我写。 vscode配置PHP Debug 1、先在vscode中安装PHP Debug,在设...

  • 调试 Node.js 程序

    WebStorm Debug + 断点 vscode Debug + 断点 命令行和 Chrome 调试 Node...

  • vscode debug

    vscode debug 在laugh.json 中添加

  • vscode c++ debug

    问题:mac机器上使用vscode debug c++,按照网上文章配置后,启动debug会报错: debug提示...

  • vscode debug

    https://blog.csdn.net/crper/article/details/60957348 http...

  • vscode debug flask web app 使用本机I

    开始弄了半天 用vscode debug的时候无法使用本机地址, 只能自己访问, 局域网访问不了, 后来弄了半天找...

网友评论

    本文标题:vscode debug flask

    本文链接:https://www.haomeiwen.com/subject/duznnxtx.html