J'ai une application très basique flask application avec des dépendances installées à partir de mes exigences.txt. Toutes ces dépendances sont installées dans mon environnement virtuel.
requis.txt donné ci-dessous,
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
Mon code dans le fichier 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)
Quand j'exécute l'application,
export FLASK_APP=NewTest.py
export FLASK_ENV=development
export FLASK_DEBUG=true
flask run
or flask run --reload
Je reçois l'erreur suivante,
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
Quelqu'un peut-il signaler ce que je manque ou fais-il mal et comment puis-je le réparer? Merci.
Werkzeug Bibliothèque peut avoir des problèmes avec différents python versions.
Tout d'abord, mettez à niveau la bibliothèque Werkzeug pour être la dernière, puis réessayez.
pip3 install --upgrade werkzeug
Si cela n'a pas fonctionné, je présume que vous utilisez peut-être python la version qui crée le problème entier.
Vous pouvez toujours créer un virtualenv [ installer, créer et activer ] avec un fichier spécifique python version où Werkzezug ne vous causera pas ce problème.