2016-06-28 17 views
9

Quando eseguo il mio script, ottengo questo output:Come è possibile disattivare ExtDeprecationWarning per librerie esterne nel pallone

/app/venv/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.sqlalchemy is deprecated, use flask_sqlalchemy instead. 
    .format(x=modname), ExtDeprecationWarning 
/app/venv/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.marshmallow is deprecated, use flask_marshmallow instead. 
    .format(x=modname), ExtDeprecationWarning 
/app/venv/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.cache is deprecated, use flask_cache instead. 
    .format(x=modname), ExtDeprecationWarning 
/app/venv/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.restful is deprecated, use flask_restful instead. 
    .format(x=modname), ExtDeprecationWarning 
/app/venv/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.restful.fields is deprecated, use flask_restful.fields instead. 
    .format(x=modname), ExtDeprecationWarning 
/app/venv/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.restful.reqparse is deprecated, use flask_restful.reqparse instead. 
    .format(x=modname), ExtDeprecationWarning 
/app/venv/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.restplus is deprecated, use flask_restplus instead. 
    .format(x=modname), ExtDeprecationWarning 
/app/venv/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.restful.representations is deprecated, use flask_restful.representations instead. 
    .format(x=modname), ExtDeprecationWarning 
/app/venv/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.script is deprecated, use flask_script instead. 
    .format(x=modname), ExtDeprecationWarning 
/app/venv/lib/python2.7/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.migrate is deprecated, use flask_migrate instead. 
    .format(x=modname), ExtDeprecationWarning 

non mi preoccupo per questo, perché librerie esterne stanno causando questo. Non riesco ad aggiornare queste librerie perché non le possiedo e vedo che ci sono richieste pull in sospeso.

Come posso ottenere un po 'di pace e tranquillità?

risposta

13

Come da Flask 1.0, flask.ext non esiste. I pacchetti che non hanno risolto queste importazioni non funzioneranno.


In primo luogo, si dovrebbe cura di questo, perché i pacchetti che si sta utilizzando non sono aggiornati. Segnala un bug che dovrebbe passare a utilizzare nomi di importazione diretta, ad esempio flask_sqlalchemy, anziché il gancio di importazione flask.ext.

Aggiungere una riga warnings.simplefilter per filtrare queste avvertenze. Puoi posizionarlo ovunque tu configuri la tua applicazione, prima di eseguire qualsiasi importazione che aumenti l'avviso.

import warnings 
from flask.exthook import ExtDeprecationWarning 

warnings.simplefilter('ignore', ExtDeprecationWarning) 
0

Non posso decidere di sicuro dalla tua domanda, ma sono abbastanza sicuro che sia le importazioni ai file sorgente that're causando questi avvertimenti.

Se si utilizza il reindirizzamento deprecato flask.ext importazione, quindi per esempio:

flask.ext.sqlalchemy import SQLAlchemy() 

diventa un'importazione diretta:

from flask_sqlalchemy import SQLAlchemy() 

Se stai usando Linux, questo one-liner effettuerà la modifica in tutti i tuoi file e cartelle in modo ricorsivo (da ./).

Eseguire il backup prima su un percorso file diverso - Non posso dire con certezza che non corromperà il contenuto di una directory .git, o altro svn che usi, ecc. O semplicemente apporta le modifiche manualmente.

find ./ -type f exec sed -i 's/flask.ext./flask_/g' {} \; 
+0

La tua ipotesi è errata, come indicato chiaramente nella domanda, e come si è visto nel registro degli errori. – jwg

Problemi correlati