【问题标题】:Basic Flask app not running (TypeError: required field "type_ignores" missing from Module)基本 Flask 应用程序未运行(TypeError:模块中缺少必填字段“type_ignores”)
【发布时间】:2020-05-25 04:01:35
【问题描述】:

我有一个非常基本的烧瓶应用程序,其中包含从我的 requirements.txt 安装的依赖项。所有这些依赖项都安装在我的虚拟环境中。

requirements.txt 下面给出,

aniso8601==6.0.0
Click==7.0
Flask==1.0.3
Flask-Cors==3.0.7
Flask-RESTful==0.3.7
Flask-SQLAlchemy==2.4.0
itsdangerous==1.1.0
Jinja2==2.10.1
MarkupSafe==1.1.1
# psycopg2-binary==2.8.2
pytz==2019.1
six==1.12.0
# SQLAlchemy==1.3.4
Werkzeug==0.15.4
python-dotenv
requests
authlib

我在 NewTest.py 文件中的代码,

from flask import Flask, request, jsonify, abort, url_for

app = Flask(__name__)

@app.route('/')
def index():
    return jsonify({
        'success': True,
        'index': 'Test Pass'
    })



if __name__ == '__main__':
    app.run(debug=True)

当我运行应用程序时,

export FLASK_APP=NewTest.py
export FLASK_ENV=development
export FLASK_DEBUG=true

    flask run
or flask run --reload

我收到以下错误,

127.0.0.1 - - [09/Feb/2020 12:43:40] "GET / HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/projects/env/lib/python3.8/site-packages/flask/_compat.py", line 36, i
n reraise
    raise value
  File "/projects/NewTest.py", line 3, in <module>
    app = Flask(__name__)
  File "/projects/env/lib/python3.8/site-packages/flask/app.py", line 559, in _
_init__
    self.add_url_rule(
  File "/projects/env/lib/python3.8/site-packages/flask/app.py", line 67, in wr
apper_func
    return f(self, *args, **kwargs)
  File "/projects/env/lib/python3.8/site-packages/flask/app.py", line 1217, in 
add_url_rule
    self.url_map.add(rule)
  File "/projects/env/lib/python3.8/site-packages/werkzeug/routing.py", line 1388, in add
    rule.bind(self)
  File "/projects/env/lib/python3.8/site-packages/werkzeug/routing.py", line 730, in bind
    self.compile()
  File "/projects/env/lib/python3.8/site-packages/werkzeug/routing.py", line 794, in compile
    self._build = self._compile_builder(False).__get__(self, None)
  File "/projects/env/lib/python3.8/site-packages/werkzeug/routing.py", line 951, in _compile_builder
    code = compile(module, "<werkzeug routing>", "exec")
TypeError: required field "type_ignores" missing from Module

谁能指出我遗漏了什么或做错了什么,我该如何解决?谢谢。

【问题讨论】:

    标签: python python-3.x rest flask virtualenv


    【解决方案1】:

    该错误已在werkzeug 0.15.5 中修复。从 0.15.4 升级到更高版本。

    【讨论】:

    【解决方案2】:

    我通过在终端上简单地执行以下代码行来解决错误:

    sudo pip3 install --upgrade ipython
    

    【讨论】:

    • 这对我有用,除了一个包 google.colab 保持 ipython 版本不兼容,因为它不兼容。 ```pip3 uninstall google-colab`` 然后你的行为我修复了它。
    【解决方案3】:

    werkzeug 库在不同的 python 版本中可能存在问题。

    首先,将 werkzeug 库升级到最新,然后再试一次。

    pip3 install --upgrade werkzeug  
    

    如果这不起作用,我想您可能使用的是导致整个问题的 python 版本。

    您始终可以使用特定的 python 版本创建一个 virtualenv [Install, Create, and Activate],其中 werkzeug 不会导致您出现此问题。

    【讨论】:

      【解决方案4】:

      试试

      pip uninstall Flask
      

      然后

      pip install Flask
      

      pip uninstall Werkzeug

      然后

      pip install Werkzeug

      【讨论】:

        【解决方案5】:

        我在 django shell 中遇到了错误,似乎 ipython 中存在错误。最后,我决定暂时删除 ipython 直到 bug 修复

        pip uninstall ipython
        

        more info

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-12-10
          • 2022-12-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多