web-dev-qa-db-fra.com

python-pylint 'C0103: Nom de constante invalide

Je suis confus au sujet des erreurs sur cette photo:

 enter image description here

Je ne sais pas comment les réparer. Mon programme est un cadre Web Python-Flask. Lorsque j'utilise VScode pour déboguer mon programme, Pylint affiche ces erreurs. Je sais que ce problème n'a pas d'importance, mais cela me rend agacé. Comment puis-je le réparer?

# -*- 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 __== '__main__':
    db.create_all()
    app.run()
35
Xing

Le fait que PEP8 considère uniquement les constantes au niveau du module est probablement la raison pour laquelle de nombreux développeurs utilisent une fonction main () dédiée.

Donc, vous pourriez résoudre votre problème comme ceci:

def main():
    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)
    db.create_all()
    app.run()

if __== '__main__':
    main()
11
T.M.

PEP 8 décrète que les noms des constantes doivent être en majuscules .

Alors, renommez ces variables en majuscules.

Conseil: si vous recherchez «C0103» sur Google, vous accéderez à l’entrée wiki des messages PyLint de ce message , avec des détails.

6
Kundor

Renommez ces variables en majuscules.

Tel que

app = Flask(__name__)      => APP = Flask(__name__)
bootstrap = Bootstrap(app) => BOOTSTRAP = Bootstrap(app)
1
JChen___

vous pouvez utiliser la ligne suivante au début de votre script python et l'exécuter:

# pylint: disable = nom-invalide

Il désactivera tout le message de convention constante non valide dans l'analyseur de code statique.

0
Ankita singh