Erreur Docker Flask Python

Résolu
dyllan -  
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour,

Je viens de dockeriser mon serveur web python avec la bibliothèque flask et flask_restful, j'ai crée les fichiers docker-compose.yml et dockerfile. Mais quand je lance

docker-compose up -d

la base de donnée se lance, mais pour le serveur web j'obtiens l'erreur suivante : 

Traceback (most recent call last):
  File "/app/ServeurWeb.py", line 4, in <module>
    from flask import Flask, render_template, jsonify, url_for, request
  File "/usr/local/lib/python3.9/site-packages/flask/__init__.py", line 19, in <module>
    from jinja2 import Markup, escape
ImportError: cannot import name 'Markup' from 'jinja2' (/usr/local/lib/python3.9/site-packages/jinja2/__init__.py)

Voici mes fichiers:

Dockerfile:

FROM python:3.9-slim-buster
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY ServeurWeb.py .
CMD [ "python", "/ServeurWeb.py" ]

Docker-compose.yml:

version: '3'
services:
  web:
    build: .
    ports:
      - "5000:5000"
    environment:
      - MONGO_URI=mongodb://mongo:27017/mydb
    volumes:
      - ./app:/app
    depends_on:
      - mongo
  mongo:
    image: mongo:latest
    ports:
      - "27017:27017"

Merci par avance !

Windows / Chrome 110.0.0.0

1 réponse

mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 879
 

Bonjour,

Ta version de jinja est trop vieille et c'est pourquoi elle ne fournit pas la classe Markup, comme l'explique cette discussion. Il faut corriger ton fichier requirements.txt pour forcer l'installation d'une version plus récente.

Bonne chance

0