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

Déploiement/Installation Python Discussion :

Python -V ne fonctionne pas


Sujet :

Déploiement/Installation Python

  1. #1
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Points : 64
    Points
    64
    Par défaut Python -V ne fonctionne pas
    Bonjour,

    New to Python.

    Question 1 -

    J'ai la dernière version de www.python.org, 3.9.1, installé sans problème avec y compris le path.

    mon objectif est de faire des page web, d'abord pour apprendre. J'ai cherché comment intégrer Phyton à un serveur web avant de trouver qu'in serveur web était déjà inclus dans le package.

    Question 2 -

    Ici:
    https://developer.mozilla.org/fr/doc..._de_test_local

    Ils expliquent que il faut vérifier le numéro de version de Python avec phyton -V avant d'indiqué sur la place le serveur web, comme ca "python3 -m http.server"

    Cela échoue parce que la commande python n'est pas reconnu. J'ai bien vérifié le path et tout réinstallé 2 fois. Cela ne fonctionne pas.

    Une idée ?

    Question 3 -

    Autre question similaire: comment intégrer Python à un serveur web standard comme Wamp (apache), IIS, EasyPHP (apache), simplement ?


    Question 4 -

    Autre question: j'ai trouvé une portion de code python dans une page html. En PHP on insère du code PHP par <?PHP mon-code ?>, mais en python, comment faire ?

    Question 5 -

    Pour récupérer des données d'un formulaire, par exemple, est-on obligé d'utiliser les CGI avec "import cgi" ?????

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    import cgi
     
    formulaire = cgi.FieldStorage()
     
    if formulaire.getvalue('nom') == None:
     
        print ''

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 242
    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 242
    Points : 36 699
    Points
    36 699
    Par défaut
    Salut,

    J'ai lu la page mentionnée
    .
    C'est comme une de recette de cuisine.

    C'est bluffant parce que çà décrit des étapes avec des mots compréhensibles et des commandes qui paraissent simples à taper... mais ce n'est que quand vous allez essayer de mettre tout çà en pratique qu'on peut se retrouver dans une grande solitude parce que çà ne se passe pas comme çà dit.

    Avec de la vraie cuisine, on suppose que vous avez un minimum d'expérience pour analyser la situation, et prendre des décisions raisonnables pour arriver quand même à produire quelque chose de comestible et non toxique.

    En programmation, c'est pareil. On suppose que vous savez lancer Python sur votre environnement (puisque vous l'avez installé vous devez savoir si l'installation a réussi)....
    Et peut être que sur cet environnement là, python se lance avec une autre commande que python3.

    Pour le reste, si vous voulez faire avec Python ce que vous avez appris à faire avec PHP, ben, il va falloir prendre le même temps pour apprendre...
    Et peut être en profiter pour voir que Python, vous permet d'obtenir les mêmes résultats avec des méthodes/bibliothèques différentes.

    D'ailleurs, si vous aviez lu la page Web de départ jusqu'au bout, vous sauriez déjà quelles bibliothèques on utilise avec Python (et qu'elles ne font pas ce qu'on fait avec PHP).

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

  3. #3
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Points : 64
    Points
    64
    Par défaut
    Hello wiztricks,

    C'est OK. J'ignore pourquoi mais en insistant le python -V a fonctionné et j'ai pu installer le serveur web, non pas sans me rendre compte que la commande n'est pas "python3 -m http.server" mais "python -m http.server", sans le 3. La documentation sur la page que tu donnes (et page que j'avais déjà consulté) est donc erronée.

    Le serveur s'exécute bien, page html et tous va bien, sauf, SAUF, les fichiers py et notamment la page que j'ai mis en exemple au dessus.
    Question: comment rendre exécutable par le serveur web (qui fonctionne parfaitement en tache de fond et dans la DOS box, il y a les logs) les interprète comme des exécutable web (extension .py).

    La seule chose que j'ai c'est la page test.py qui s'affiche dans la navigateur. Autrement dit le source python est balancé en clair sur le navigateur client. Comment le rendre "exécutable" ou interprétable, plus exactement.

    Merci.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 242
    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 242
    Points : 36 699
    Points
    36 699
    Par défaut
    Salut,

    Citation Envoyé par Jolt0x Voir le message
    Comment le rendre "exécutable" ou interprétable, plus exactement.
    Il faut ajouter une couche qui sache "interpréter". Çà s'appelle Python Server Page... mais sous Python on a abandonné cette techno depuis 10/15 ans (pour faire autrement).

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

  5. #5
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Points : 64
    Points
    64
    Par défaut
    Rebonsoir,

    Mon serveur web est OK, sur le port 8000, il donnent mes pages html, les images et tout, sauf, SAUF les fichier de script python. Le serveur web n'est pas le moteur des script Python, alors même que ce serveur est le serveur inclus dans le distribution Python.org.

    Juste en dessous, le code de la page en question. Le serveur web n'interprète pas les page d'extension .py et le serveur les affiches au navigateur web. Les pages contenant le source sont lisibles en texte dans le navigateur client. En non interprété par le moteur Python.


    Code python : 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
     
     
    #!/usr/bin/python
     
    import cgi
     
    print 'Content-type: text/html'
     
    print
     
    formulaire = cgi.FieldStorage()
     
    if formulaire.getvalue('nom') == None:
     
        print '''
     
    Veuillez remplir le formulaire :
     
    <form action="formulaire.py" method="post">
     
    <input type="text" name="nom" />
     
    <input type="submit"></form>
     
        '''
     
    else:
     
        print 'Ainsi, vous vous appelez',cgi.escape(formulaire.getvalue('nom')),' ?'<br><br>

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 242
    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 242
    Points : 36 699
    Points
    36 699
    Par défaut
    Salut,

    Citation Envoyé par Jolt0x Voir le message
    Le serveur web n'interprète pas les page d'extension .py et le serveur les affiches au navigateur web. Les pages contenant le source sont lisibles en texte dans le navigateur client. En non interprété par le moteur Python.
    Le serveur Web lancé par "python -m http.server" n'est pas fait pour lancer l'interpréteur Python lorsqu'il voit un fichier d'extension .py. Et çà ne marche pas parce que rien n'a été fait pour que çà fonctionne comme vous l'attendez.

    Après c'est à vous de voir... soit vous programmez pour que çà le fasse, soit vous utilisez une extension (un code déjà fait) pour le faire (après avoir pris le temps d'apprendre à le faire marcher).... Et dans les extensions prêtes à l'emploi, vous avez les Python Server Pages (déjà mentionnées).

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

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    J'ai fait des choses comme ça il y a très longtemps (2008!), et ça fonctionnait très bien. J'avais fait un tuto: http://python.jpvweb.com/python/mesr...lculatrice_cgi. Mais malheureusement pour vous, c'était en Python 2, et il faudrait faire une bonne modernisation pour Python 3, en particulier pour les dernières versions. Mais ça peut servir de source d'inspiration. Ça rappelle aussi quelques principes comme: Python côté serveur, comme PHP, ne peut que communiquer en html avec le navigateur client.

    J'avais fait dans la foulée une calculatrice scientifique CGI plus ambitieuse: http://www.jpvweb.com/cgi-bin/calculextcgi.py chez mon hébergeur qui n'a encore que Python 2 sur un serveur Linux complet (Apache, PHP, MySQL, ...). Et ça marche toujours depuis 2008 (à part les liens d'aide qui sont morts)... Il reste que Python en CGI sur hébergement Internet peut provoquer des problèmes de sécurité si on ne prend pas assez de précautions.

    [edit] le lien d'aide en ligne est réparé
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  8. #8
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Points : 64
    Points
    64
    Par défaut
    Haaaaav !


    Ca ne fonctionen pas.

    J'ai toujours ma page python qui affiche le code source python, comme expliqué plus haut.

    J'ai rebooté plusieur fois et tous testé mais là, je suis bloqué.



    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
     
     
    #!/usr/bin/python
     
    import cgi
     
    print 'Content-type: text/html'
     
    print
     
    formulaire = cgi.FieldStorage()
     
    if formulaire.getvalue('nom') == None:
     
        print '''
     
    Veuillez remplir le formulaire :
     
    <form action="formulaire.py" method="post">
     
    <input type="text" name="nom" />
     
    <input type="submit"></form>
     
        '''
     
    else:
     
        print 'Ainsi, vous vous appelez',cgi.escape(formulaire.getvalue('nom')),' ?'<br><br>
    J'ai fait juste un print( ' ma page python ' ); mais ca bug encore.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print( ' ma  page python ' );

  9. #9
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Contre-proposition de code à partir du tien: celui-là marche chez moi:
    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
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
     
    import cgi
    import html
     
    print('Content-type: text/html\n')
     
    formulaire = cgi.FieldStorage()
     
    nom = formulaire.getvalue("nom")
    if nom!=None:
        print('Ainsi, vous vous appelez ' + html.escape(nom) + ' ?<br><br>')
     
    html = '''
    <!DOCTYPE html>
    <body>
    <p>Veuillez remplir le formulaire :</p>
     
    <form action="formulaire.py" method="post">
    <input type="text" name="nom" value="Votre nom" />
    <input type="submit" name="send" value="Envoyer information au serveur" />
    </form>
     
    </body>
    </html>
    '''
    print(html)
    Appel chez moi par: http://localhost:8080/cgi-bin/formulaire.py

    NB: à la moindre petite erreur, le serveur renvoie le code Python au lieu de l'exécuter.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  10. #10
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Points : 64
    Points
    64
    Par défaut
    Salut Tyrtamos !

    J'ai essayé plusieurs source, y compris des scripts insignifiant, juste pour voir si le python est intégré, mais non cela ne fonctionne pas. Tous se passe comme si le moteur python n'existait pas. Lorsque je clicke sur l'URL localhost:8000/index.py, le navigateur affiche le code source de le page ou demande d'enregistrer la page source .py.

    Dans une doc unix/linux ils explique qu'il faut rendre les scripts exécutable avec chmod +x mon-script.py. On ne fait pas cela sous Windows. Un remplacement, mais a mon avis aucun.

    Je suis donc toujours bloqué. A noté que les page htlm toutes simples sont bien prise en compte par le serveur. Les images jpg aussi. Seul le moteur python pose u problème. Une idée ?

    Note: les log sur le serveur http du package python que j'utilise, indique une erreur http de 200. Ce qui veut dire que tout se passe bien à chaque demande d'URL, ce qui est faut puisque le python ne s'exécute pas.

    Note 2: j'ai lu ici ou là qu'il faillait mettre cela dans un .htaccess pour le serveur web

    AddHandler cgi-script .py
    Options +ExecCGI

    Ce que j'ai fait mais ne fonctionne pas.

    Une idée ?????????????


    MODIFICAION 2 heures plus tard: la version obtenu avec python -v, qui fonctionne parfaitement bien cette fois (contrairement a premier message) donne 3.9.1.
    Est-ce que quelqu'un a cette version qui tourne sur une machine ? Pour vérifier si cette dernière version, : 3.9.1 fonctionne bien en python-cgi

Discussions similaires

  1. [Python 3.X] Problème Python : Print ne fonctionnant pas après une chaîne de conditions
    Par nonotxh dans le forum Général Python
    Réponses: 4
    Dernier message: 09/07/2020, 14h10
  2. Lanceur d'application python qui ne fonctionne pas
    Par Philippe Dpt35 dans le forum Ubuntu
    Réponses: 6
    Dernier message: 10/11/2017, 23h13
  3. Fonction python qui ne fonctionne pas correctement
    Par Bipolaire dans le forum Général Python
    Réponses: 3
    Dernier message: 21/05/2017, 14h32
  4. [Python 2.x]Try - expect qui ne fonctionne pas
    Par unic0 dans le forum Général Python
    Réponses: 10
    Dernier message: 20/03/2015, 16h00
  5. "python print" ne fonctionne pas
    Par oodini dans le forum Général Python
    Réponses: 12
    Dernier message: 19/01/2012, 22h49

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