Не работали матплотлиб и ездхф ставим библиотеки при сборке образа
All checks were successful
Deploy MES Core / deploy (push) Successful in 3m7s
All checks were successful
Deploy MES Core / deploy (push) Successful in 3m7s
This commit is contained in:
@@ -16,7 +16,10 @@ ENV PYTHONUNBUFFERED=1
|
|||||||
# gcc и libpq-dev — необходимы для сборки библиотеки psycopg2 (драйвер для Postgres).
|
# gcc и libpq-dev — необходимы для сборки библиотеки psycopg2 (драйвер для Postgres).
|
||||||
# rm -rf /var/lib/apt/lists/* — удаляем кэш установщика, чтобы уменьшить размер образа.
|
# rm -rf /var/lib/apt/lists/* — удаляем кэш установщика, чтобы уменьшить размер образа.
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
gcc libpq-dev && rm -rf /var/lib/apt/lists/*
|
gcc libpq-dev \
|
||||||
|
libfreetype6 libpng16-16 \
|
||||||
|
fonts-dejavu-core \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Сначала копируем только список зависимостей.
|
# Сначала копируем только список зависимостей.
|
||||||
# Это нужно для "кэширования слоев": если ты не менял библиотеки, Docker не будет переустанавливать их заново при сборке.
|
# Это нужно для "кэширования слоев": если ты не менял библиотеки, Docker не будет переустанавливать их заново при сборке.
|
||||||
|
|||||||
@@ -70,7 +70,11 @@ def _render_dxf_preview_png(
|
|||||||
from ezdxf.addons.drawing.matplotlib import MatplotlibBackend
|
from ezdxf.addons.drawing.matplotlib import MatplotlibBackend
|
||||||
from ezdxf.addons.drawing import config as draw_config
|
from ezdxf.addons.drawing import config as draw_config
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise RuntimeError('Не установлены зависимости для превью DXF: ezdxf и matplotlib') from e
|
# Важно: сюда попадают не только «пакет не установлен», но и ошибки импорта из-за системных библиотек
|
||||||
|
# (например, не хватает freetype/png в slim-образе). Поэтому сохраняем первопричину в тексте исключения.
|
||||||
|
raise RuntimeError(
|
||||||
|
f"Не удалось импортировать зависимости для превью DXF (ezdxf/matplotlib): {type(e).__name__}: {e}"
|
||||||
|
) from e
|
||||||
|
|
||||||
if not dxf_path or not os.path.exists(dxf_path):
|
if not dxf_path or not os.path.exists(dxf_path):
|
||||||
raise FileNotFoundError('DXF файл не найден')
|
raise FileNotFoundError('DXF файл не найден')
|
||||||
|
|||||||
Reference in New Issue
Block a user