PnX-SI / GeoNature-citizen

Portail web d'inventaire citoyen de la biodiversité à destination du grand public
https://pnx-si.github.io/GeoNature-citizen/
GNU Affero General Public License v3.0
20 stars 29 forks source link

No module named 'flasgger' #234

Closed Splendens closed 4 years ago

Splendens commented 4 years ago

J'ouvre un nouveau ticket pour ne pas polluer celui concernant le script d'installation du module (https://github.com/PnX-SI/GeoNature-citizen/issues/167) avec un problème qui n'y est peut-être pas directement lié.

Alors, pour résumer : j'essaie d'installer GN-Citizen sur Debian 10, à l'aide de la doc en cours de relecture (https://github.com/PnX-SI/GeoNature-citizen/commit/823d29bdfd1fd5ed6a74d10fb8413f9e62a18578).

Jusque là, impossible de lancer le program citizen : quand je veux le lancer (sudo supervisorctl start citizen), j'ai l'erreur citizen: ERROR (spawn error)

Et dans les logs d'erreur : ModuleNotFoundError: No module named 'flasgger', et ce même après avoir installé flasgger.

Manifestement, quelque chose m'échappe, mais quoi ? La version de flasgger qui a été installée est la 0.9.5


Log complet :

[2020-09-25 08:38:27 +0000] [18834] [INFO] Worker exiting (pid: 18834)
[2020-09-25 08:38:27 +0000] [18829] [INFO] Shutting down: Master
[2020-09-25 08:38:27 +0000] [18829] [INFO] Reason: Worker failed to boot.
[2020-09-25 08:38:30 +0000] [18848] [INFO] Starting gunicorn 19.9.0
[2020-09-25 08:38:30 +0000] [18848] [INFO] Listening at: http://0.0.0.0:5002 (18848)
[2020-09-25 08:38:30 +0000] [18848] [INFO] Using worker: sync
[2020-09-25 08:38:30 +0000] [18859] [INFO] Booting worker with pid: 18859
[2020-09-25 08:38:30 +0000] [18859] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 129, in init_process
    self.load_wsgi()
  File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 138, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 52, in load
    return self.load_wsgiapp()
  File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/lib/python3/dist-packages/gunicorn/util.py", line 375, in import_app
    __import__(module)
  File "/home/geonatureadmin/GeoNature-citizen/backend/wsgi.py", line 5, in <module>
    from gncitizen.utils.env import load_config
  File "/home/geonatureadmin/GeoNature-citizen/backend/gncitizen/utils/env.py", line 6, in <module>
    from flasgger import Swagger
ModuleNotFoundError: No module named 'flasgger'
Splendens commented 4 years ago

Bon bah si, c'était peut être un problème dans la doc. Problème de No module named 'flasgger' résolu en lançant un sudo pip3 install -r requirements.txt (avec le venv activé), à la place de : pip install -r requirements.txt

lpofredc commented 4 years ago

Par précaution, lorsque l'on lance un programme python, il vaut mieux utiliser la synthaxe suivante python3 -m monprogrammepython. Exemple:

python3 -m pip install -r requirements.txt

Sinon, il risque de faire appel aux applis pip (python2) ou pip3 (python3) du système et non de l'environnement python virtuel.