Environnement virtuel - cherrypy

Résolu

Bonjour.

Je suis pas à pas un bouquin d’apprentissage de la programmation en python (Apprendre à programmer avec Python 3 de Gérard Swimmen). Dans un des derniers chapitres, qui traite des applications web, il est utilisé le module cherrypy. Mais son importation par <import cherrypy> conduit au message d’erreur <ModuleNotFoundError: No module named 'cherrypy'>.

Dans les deux tutoriels (trouvés sur internet) en pièce jointe, il est expliqué comment utiliser cherrypy via un environnement virtuel sous Windows.

et

A la ligne de commande Windows, je tape successivement :

python -m venv venv

.\venv\Scripts\activate.bat

pip install cherrypy
python
import cherrypy

Pas de message d’erreur jusque là (capture 1).

Mais j’obtiens un premier message d’erreur lorsque je lance le serveur web (ultra basique) depuis la ligne de commande Windows par <python server.py> (capture 2)


, et ce, que les deux fichiers Tutoriel.conf.py (fichier de configuration du serveur) et serveur.py (fichier serveur) soient placés dans leur dossier d’origine ou dans l’un ou l’autre des deux dossiers venv trouvés sur le disque (capture 3).


 Idem en tapant <serveur.py> à la ligne de commande Windows (capture 4).
Je ne sais plus quoi faire …
Et deuxième message d’erreur lorsque je cherche à quitter l’environnement virtuel proprement en tapant à la ligne de commande Windows <deactivate> (capture 5) ...
Si quelqu’un peut m’aider. Merci d’avance.
Script du fichier de configuration :
[global]
server.socket_host = "127.0.0.1"
server.socket_port = 8080
server.thread_pool = 5
tools.sessions.on = True
tools.encode.encoding = "utf-8"
[/annexes]
tools.staticdir.on = True
tools.staticdir.dir = "Annexes"
Script du serveur :
import cherrypy

class MonSiteWeb(object):
    def index(self):
        return "<h1>Bonjour à tous !</h1>"
    index.exposed = True

######   PROGRAMME PRINCIPAL   ######

cherrypy.quickstart(MonSiteWeb(), config = "Tutoriel.conf")

5 réponses

  1. Bonjour,

    Moi, en général lorsqu'il me manque un module à importer, je ne m'occupe pas d'environnement

    virtuel, j'installe directement le module:

    1. OK je vais essayer. Mais il y a plusieurs dossiers Python sur mon ordi, même si je n'ai installé qu'une seule distribution(IDLE). Comment savoir quel chemin indiquer pour l'installation de ce module complémentaire ?

      1. Plus précisément j'ai 6 dossiers Python :

        1/ un dossier <python-packages.zip> :

        C:\Program Files (x86)\Dropbox\Client\174.4.5852

        2/ un dossier <python> :

        C:\Program Files (x86)\OpenOffice 4\share\Scripts

        3/ un dossier <python 2.7> :

        C:\Program Files (x86)\OpenOffice 4\program\python-core-2.7.18\include

        Ces trois là ne semblent pas être les bons (.zip et OpenOffice).

        4/ un dossier <Python 3.10> :

        C:\Users\nicol\AppData\Roaming\Microsoft\Windows\Start Menu\Programs

        Celui-là ne me semble pas être le bon non plus (menu démarrage).

        5/ un dossier <Python 3 10> :

        C:\Users\nicol\AppData\Local\Programs\Python

        6/ un dossier <Python> :

        C:\Users\nicol\AppData\Local\Programs

        J'hésite donc entre les deux derniers, mais sans aucune certitude. Et je ne voudrais surtout pas me tromper pour cette installation de manière à ne pas avoir à faire une restauration ...

        1. OK merci Phil_1857.

          Autant pour moi, il n'y avait pas de chemin à indiquer ...

          Je n'avais jamais installé de module complémentaire ...

          Là ça fonctionne, donc l'installation s'est déroulée correctement.

          1. Et en prime la solution pour l'utilisation d'un environnement virtuel :

            Touche Windows + cmd

            puis

            py -m venv <nom_environnement_virtuel_à_créer>

            <nom_environnement_virtuel_créé>\Scripts\activate

            pip install <bibliothèque_complémentaire_éventuelle>

            cd <chemin_d_accès_du_programme_à_exécuter>

            programme_à_exécuter (se terminant par .py)

            <nom_environnement_virtuel_créé>\Scripts\deactivate