Estaba siguiendo este artículo. https://testdriven.io/blog/dockerizing-django-with-postgres-gunicorn-and-nginx/#production-dockerfile
En la sección Production Dockerfile, el archivo Dockerfile.prod tiene estas líneas.
# lint RUN pip install --upgrade pip RUN pip install flake8 COPY . /usr/src/app/ RUN flake8 --ignore=E501,F401 .Cuando ejecuto el siguiente comando,
docker-compose -f docker-compose.prod.yml up -d --buildRecibo el siguiente error.
ERROR: Service 'web' failed to build: The command '/bin/sh -c flake8 --ignore=E501,F401' returned a non-zero code: 1No estoy muy al tanto de flake8, cuando comenté 'RUN flake8 --ignore=E501,F401'. línea del archivo Dockerfile.prod todo funcionó.
¿Alguien puede decirme por qué estoy enfrentando este problema y decirme una solución en lugar de eliminar esa línea del Dockerfile? No estoy muy al tanto de flak8 y también soy bastante nuevo en Docker y su ayuda será muy apreciada :)
Gracias.
Podría ser una buena idea (al menos por ahora) solo dejar que el código se borre dentro de la carpeta de la aplicación Django. Entonces, si siguió el tutorial sin modificaciones, es posible que desee reemplazar esta línea:
RUN flake8 --ignore=E501,F401 .con el código de tu proyecto Django...
RUN flake8 --ignore=E501,F401 ./hello_djangoDe lo contrario, es probable que haya muchas cosas que se verifiquen, que no quieras que flake8 verifique.
Tuve el mismo problema y la solución del usuario 13641454 funcionó muy bien. Si aún recibe el mismo error, le sugiero que ejecute flake8 desde la terminal para ver los errores reales:
install flake8 flake8 --ignore=E501,F401 ./hello_djangoEs probable que sea algo trivial como una línea adicional o algo en su código.
flake8 es una biblioteca para verificar errores en el código y asegurarse de que no haya variables indefinidas o importaciones que no se estén utilizando.
La razón por la que está recibiendo los errores se enumeran dentro del propio error. Sin embargo, parece que flake8 está escaneando el entorno virtual (carpeta env) y listando todos los errores. Para resolver este problema, puede apuntarlo al subdirectorio que tiene su código python (creado por usted). O agregue ignorar declaración / archivo para ignorar la carpeta env.
Dicho esto, para su caso de uso, encadenar el código para que sea:
RUN flake8 --ignore=E501,F401 ./hello_djangoresolverá tu problema
También tuve el mismo problema, como se muestra a continuación y cómo se resolvió, al corregir el error como se menciona en su error " settings.py: 23: 1: el comentario del bloque E265 debe comenzar con '# '. "
Edite la línea de comentarios y proporcione el espacio adecuado como '# Esto es un comentario'
es posible que tenga un tipo diferente, pero arréglelo según las sugerencias de error.