I'm confused about the error(s) in this photo:
I don't know how to fix them. My program is a Python-Flask web frame. When I use Visual Studio Code to debug my program, Pylint shows these errors. I know this problem doesn't matter, but it makes me annoyed. How can I fix it?
# -*- coding: utf-8 -*-
import sys
from flask import Flask
from flask_bootstrap import Bootstrap
from flask_moment import Moment
#from flask_wtf import Form
#from wtforms import StringField, SubmitField
#from wtforms.validators import Required
from flask_sqlalchemy import SQLAlchemy
reload(sys)
sys.setdefaultencoding('utf-8')
app = Flask(__name__)
app.config['SECRET_KEY'] = 'hard to guess string'
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@localhost:3306/test?'
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
bootstrap = Bootstrap(app)
moment = Moment(app)
db = SQLAlchemy(app)
if __name__ == '__main__':
db.create_all()
app.run()
As explained by Kundor, PEP 8 states that:
The point is that "constants" in Python don't really exist. Pylint, as per PEP 8, expects module level variables to be "constants."
That being said you've several options:
you don't want this "constant" thing, then change Pylint's
const-rgx
regular expression to be the same as e.g.variable-rgx
,you may deactivate those warnings for this file, or even locally in the file, using
# pylint: disable=invalid-name
,avoid module level variables, by wrapping them into a function.
In your case, I would go with the third option, by creating a
build_app
function or something similar. That would return the application (and maybe the 'db' object as well, but you have several choices there). Then you could add a salt of the second option to get something like:app = build_app() # pylint: disable=invalid-name