IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Comment démarrer le serveur local ? [Python 3.X]


Sujet :

Python

  1. #1
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut Comment démarrer le serveur local ?
    Bonjour à tous,

    Pour tester un fichier run.py, j'ai exécuté la commande suivante dans VSCode avec le terminal PS :

    Mais rien ne se passe !

    J'ai même testé cette commande dans PowerShell et l'interpréteur de commande standard de Windows.

    J'ai ensuite essayé les commandes suivantes, toujours dans VSCode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set FLASK_APP = run.py set FLASK_ENV = development flask run
    Mais 'set' n'est pas reconnu comme une instruction ou une commande.

    Alors, comment puis-je démarrer le serveur local ?

    Merci d'avance.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Salut,

    Citation Envoyé par apt Voir le message
    Alors, comment demarrer le serveur local ?
    Flask vient avec un tuto et une table des matières comportant run the application qui dit quoi faire dans différents environnements.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Bonjour wiztricks,

    J'ai essayé ces lignes de commandes dans VSCode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    > $env:FLASK_APP = "flaskr"
    > $env:FLASK_ENV = "development"
    > flask run
    Nom : lancement serveur local.jpg
Affichages : 563
Taille : 38,1 Ko

    le serveur à bien démarrer, mais à l'adresse 127.0.0.1:5000, j'obtiens l'erreur :

    Not Found

    The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Salut,

    Citation Envoyé par apt Voir le message
    le serveur à bien démarrer, mais à l'adresse 127.0.0.1:5000, j'obtiens l'erreur :
    Not Found

    The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

    Pour moi le serveur local est démarré et cette discussion est à priori "close".
    Si le serveur répond 404 Not found sait qu'il ne sait pas quoi retourner lorsque l'URL est racine ('/').
    Connaître HTTP et les principes d'un serveur Web avant d'en utiliser un qui automatise un peu ce qu'on devrait coder soi-même sinon sont pour moi des pré-requis: il y a pleins de tutos pour vous aider.

    W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Re,

    Avant de fermer ce fil, j'aimerais savoir pourquoi la commande :


    Nom : serveur local avec python.jpg
Affichages : 536
Taille : 16,1 Ko

    ne retourne rien chez moi ?

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par apt Voir le message
    Avant de fermer ce fil, j'aimerais savoir pourquoi la commande :
    ne retourne rien chez moi ?
    Pour qu'un programme affiche quelque chose, il faut qu'il exécute des instructions qui affichent quelque chose (comme "print").
    Si vous n'avez pas la curiosité de regarder ce que contient "run.py" pour vérifier que ça passe par ce genre d'instruction, peut être que vous pensez que "programmer", c'est juste "magique" et que ça doit faire ce qu'on veut (plutôt qu'exécuter des instructions)... (Et qu'il ne sert à rien de passer du temps dans les tutos pour apprendre)

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par apt Voir le message
    j'aimerais savoir pourquoi la commande python run.py ne retourne rien chez moi ?
    Il ne faut pas confondre "retourner" et "afficher".
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  8. #8
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Bonjour,

    Voici ce que contient le fichier run.py :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    from flask import Flask
    from codejana_flask import app
     
    app = Flask(__name__)
     
    if __name__ == "__main___":
        app.run(debug=True)

    Le fichier __init__.py qui se trouve dans le dossier CodeJana_flask :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    from flask import Flask
     
    app = Flask(__name__)
     
    from codejana_flask import routes
    Enfin le fichier routes.py :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    from codejana_flask import app
    from flask import render_template
     
    #@app.route('/')
    @app.route('/home')
    def homepage():
        #return "Hello Universe to All my coding buddies."
        return render_template('homepage.html',title="Home Page")
     
    @app.route('/about')
    def about():
        return render_template('about.html',title="About")
     
    @app.route('/account')
    def account():
        return render_template('account.html',title="Account")
    Et même la route /home, /about ou/account, ça affiche Not Found


  9. #9
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Citation Envoyé par apt Voir le message
    Bonjour,

    Voici ce que contient le fichier run.py :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    from flask import Flask
    from codejana_flask import app
    
    app = Flask(__name__)
    
    if __name__ == "__main___":
        app.run(debug=True)
    Soit tu importes app soit tu en fais une instance de Flask mais pas les deux.

    Tu compliques les choses inutilement.

    Voici l'entièreté du code de mon site http://www.py3exiv2.tuxfamily.org/
    run.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    # -*- coding: utf-8 -*-
     
    import sys
    from application import app
    # Never leave debug mode activated in a production system !
    DEBUG = False
     
    if __name__ == "__main__":
        if not DEBUG:
            import logging, logging.handlers
            logger = logging.getLogger(__name__)
            form = "%(asctime)-6s %(message)s"
            lvl = logging.DEBUG
            logging.basicConfig(format=form, datefmt='%H:%M:%S', level=lvl)
            file_handler = logging.handlers.TimedRotatingFileHandler(
                            '../logs/log', when='midnight', backupCount=7, 
                            encoding='utf-8')
            file_handler.setFormatter(logging.Formatter(form))
            app.logger.addHandler(file_handler)
        app.run(debug=DEBUG)
    application.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    # -*- coding: utf-8 -*-
     
    import sys
    import os
     
    from flask import (Flask, request, url_for, render_template, make_response)
    from werkzeug.useragents import UserAgent
     
    USERNAME = 'admin'
    PASSWORD = ''
    SERVER_NAME = None
    LANGUAGE = 'en'
    ROBOTS_TXT = 'Disallow: /login.html'
    WEBDIR = os.path.dirname(os.path.abspath('__files__'))
    PAGESDIR = os.path.join(os.path.dirname(WEBDIR), 'htdocs/templates')
    STATICDIR = os.path.join(os.path.dirname(WEBDIR), 'htdocs/static')
    TEMPDIR = os.path.join(os.path.dirname(WEBDIR), 'tmp')
     
    app = Flask(__name__, template_folder=PAGESDIR, static_folder=STATICDIR)
    app.config.from_object(__name__)
     
    @app.route('/', methods=['GET'])
    def root():
        return render_template('home.html')
     
    @app.route('/home', methods=['GET'])
    def home():
        return render_template('home.html', lang=lang)
     
    @app.route('/downloads', methods=['GET'])
    def download():
        return render_template('downloads.html')
     
    @app.errorhandler(404)
    def page_not_found(e):
        return render_template('404.html'), 404
     
    @app.route('/robots.txt')
    def view_robots_page():
        response = make_response()
        response.data = ROBOTS_TXT
        response.content_type = "text/plain"
        return response
    Comme tu vois, rien de compliqué.

  10. #10
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Salut,

    Citation Envoyé par apt Voir le message
    Voici ce que contient le fichier run.py
    Lisez le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    from flask import Flask
    from codejana_flask import app
     
    app = Flask(__name__)
     
    if __name__ == "__main___":
        app.run(debug=True)
    Déjà ligne 4 on écrase le "app" importé du module codejana_flask: ce qui montre qu'on ne sait pas ce qu'on veut (et c'est pas Python qui va deviner).
    Puis ligne 6, on s'est endormi sur le clavier en suffixant main de 3 x "_": la condition ne sera jamais vraie et ça se comporte comme un simple module (qui ne fait rien).

    Tout le monde peut faire ce genre d'erreurs... même les programmeurs "avancés" car ils sont aussi susceptibles de s'endormir sur le clavier. Leurs talents se fondent sur une petite expérience qui les met en confiance sur les constructions qui devraient marcher: ils savent relire leur code d'un point de vue critique et lorsque son comportement défie l'entendement, ils imaginent des "tests".

    Déjà comme ils ont potassé un peu Flask, ils savent que ce bout de code "fonctionne" (provoque le résultat attendu):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    from flask import Flask
     
    app = Flask(__name__)
     
    if __name__ == "__main__":
        app.run(debug=True)
    S'ils en doutent parce que leur environnement a changé, ils vont le vérifier.

    Et s'ils ne voient toujours pas les 3 x "_" qui traînent dans le suffixe de main, ils vont peut être ajouter un "print('xxx')" juste après pour s'assurer que la condition est "vraie".

    Cette rigueur et ces talents sont les bases du métier de programmeur. Si on ne les a pas développé, ben, les problèmes simples deviennent insurmontables... C'est comme çà.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Bonjour VinsS, wiztricks,

    @VinsS

    Citation Envoyé par VinsS Voir le message
    Soit tu importes app soit tu en fais une instance de Flask mais pas les deux.
    J'ai supprimé la deuxième ligne :

    Qui me causait des soucis !

    Citation Envoyé par VinsS Voir le message
    Tu compliques les choses inutilement.
    J'ai suivi ce tutoriel :



    @wiztricks

    Citation Envoyé par wiztricks Voir le message
    Déjà ligne 4 on écrase le "app" importé du module codejana_flask: ce qui montre qu'on ne sait pas ce qu'on veut (et c'est pas Python qui va deviner).
    Tu as raison. Je l'ai supprimé maintenant

    Citation Envoyé par wiztricks Voir le message
    Puis ligne 6, on s'est endormi sur le clavier en suffixant main de 3 x "_": la condition ne sera jamais vraie et ça se comporte comme un simple module (qui ne fait rien).
    Si tu n'avais pas vu ce tiret supplémentaire, je n'aurais jamais remarqué ce qui cause le problème. Merci pour le conseil.

  12. #12
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par apt Voir le message
    Si tu n'avais pas vu ce tiret supplémentaire, je n'aurais jamais remarqué ce qui cause le problème. Merci pour le conseil.
    La pratique de la programmation se fait en étant "actif" pas en étant "passif" devant des vidéos...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    La pratique de la programmation se fait en étant "actif" pas en étant "passif" devant des vidéos...
    Je regarde des vidéos et j'applique ce qu'elles contiennent, je fais des erreurs et je finis par les corriger.

    Cette méthode m'aide à apprendre.

    Edit : Je tiens à préciser que la ligne de commande :

    fonctionne actuellement.

    Merci.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/09/2015, 20h14
  2. Réponses: 1
    Dernier message: 27/12/2007, 16h37
  3. Comment démarrer un serveur Interbase par programme ?
    Par Tiramakan dans le forum Bases de données
    Réponses: 1
    Dernier message: 23/10/2007, 20h45
  4. Comment installer un serveur Web en local ?
    Par Chromatic dans le forum ASP.NET
    Réponses: 14
    Dernier message: 10/05/2006, 16h49
  5. Comment Démarrer le Serveur SQL?
    Par medinfo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/04/2006, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo