1
votes

pourquoi le débogage automatique de flask ne fonctionne pas dans ubuntu

Lorsque j'exécute

Traceback (most recent call last):
File "app.py", line 32, in <module>

    app.run(debug=True)

restore_signals, start_new_session)

File "/usr/lib/python3.6/subprocess.py", line 1344, in > _execute_child

  raise child_exception_type(errno_num, err_msg, err_filename)

OSError: [Errno 8] Exec format error:

/home/haseeb/Documents/Flask/flask_web/app.py

où le contenu de app.py est:

 from flask import Flask ,render_template

    from data import articles


    app=Flask(__name__)

    Articles=articles()

    @app.route('/')
    def index():
        return render_template('home.html')


    @app.route('/about')
    def about():
        return render_template('about.html')

    @app.route('/articles')
    def articles():
        return render_template('articles.html',articles=Articles)


    @app.route('/article/<string:id>/')
    def article(id):
        return render_template('article.html',id=id)

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

j'obtiens le erreur suivante:

python app.py


10 commentaires

Commencez par corriger l'indentation dans votre code.


Je ne comprends pas


L'indentation est l'espacement avant chaque ligne de code. En Python, une indentation incorrecte rompt la logique du code.


Ne fonctionne toujours pas


Veuillez montrer comment vous avez corrigé l'indentation dans votre message.


vérifie-le maintenant ! j'ai une indentation correcte


C'est toujours incorrect. Vérifiez ma réponse.


@HaseebShinwari: Salut, j'ai corrigé certaines choses dans votre message, y compris le formatage du code et le journal des erreurs. Sur Stack Overflow, il existe un moyen simple de les formater: sélectionnez le code entier (ou le journal des erreurs) et appuyez sur le bouton Ctrl + K ou {} . Ne formatez pas un code et un journal comme un blockquote - un tel formatage perd des nouvelles lignes, ce qui aide beaucoup à comprendre le code ou le journal.


merci la prochaine fois que je m'occuperai de ça


Pourquoi je reçois toujours un vote négatif


4 Réponses :


0
votes

L'indentation est importante:

from flask import Flask ,render_template
from data import articles

app=Flask(__name__)

Articles=articles()

@app.route('/')
def index():
    return render_template('home.html')

@app.route('/about')
def about():
    return render_template('about.html')

@app.route('/articles')
def articles():
    return render_template('articles.html',articles=Articles)

@app.route('/article/<string:id>/')
def article(id):
    return render_template('article.html',id=id)

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


1 commentaires

J'utilise le système d'exploitation Ubuntu



2
votes

le meilleur sloution est d'utiliser_reloader
if __name__=='__main__':

    app.run(port=5000,debug=True,use_reloader=True)


0 commentaires

3
votes

Pour activer le débogage pour Flask dans Ubuntu, vous pouvez effectuer les opérations suivantes: Définissez les variables d'environnement pour Flask:

$ run flask

Ensuite, exécutez votre application Flask en tapant:

$ export FLASK_DEBUG=1
$ export app=app.py # change to whatever the filename is

À partir du docs


0 commentaires

0
votes

Cela a fonctionné pour moi: sur le terminal avant d'exécuter flask, exécutez les commandes suivantes:

flask run

Ensuite:

$ export FLASK_DEBUG=1
$ export app=app.py 


0 commentaires