@Danil_Batrakov

Как настроить кодировку UTF-8 при переносе python приложения в докер?

Добрый день, собираю контейнер с Python Flask приложением, при запуске вылетает ошибка:
File "/app/Bot_backend.py", line 24
    SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xd5 in position 0: invalid continuation byte

24 строка на которую ругается:
self.answer = 'Хммммммммммммм,  даже не знаю что и ответить...'

Вот текст Dockerfile :
FROM python:3.8-slim-buster
    WORKDIR /app
    COPY requirements.txt requirements.txt
    RUN  pip install --upgrade pip
    RUN pip install -r requirements.txt
    COPY main.py main.py
    COPY Flask_backend.py Flask_backend.py
    COPY Bot_backend.py Bot_backend.py
    ENV LANG=C.UTF-8
    ENV FLASK_APP Flask_backend.py
    CMD [ "python3", "-m", "flask", "run", "--host=0.0.0.0"]

Код рабочий, на локальной Windows машине работает корректно, ошибка возникает при переносе проекта в докер.
Понимаю что ошибка в чтении русских символов, в кодировке utf-8, не понимаю как исправить, нужно ли мне добавить что-то в Python-код или в Dockerfile ?
  • Вопрос задан
  • 311 просмотров
Решения вопроса 1
@Danil_Batrakov Автор вопроса
Вопрос решен! При переносе python файлов на хостовую машину через winscp внутри ломалась кодировка на русских буквах, они все заменялись на "квакозябры", чисто случайно нашел эту проблему. После того как я перенес архивом и распаковал на хостовой машине докер запустился.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы