Erreur Docker Flask Python
RésoluBonjour,
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
A voir également:
- Erreur Docker Flask Python
- Citizen code python - Accueil - Outils
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
1 réponse
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