From 9e7122b51685cbf58d0cba278467610ac8844dbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Tue, 16 Dec 2025 21:15:32 +0100 Subject: [PATCH] =?UTF-8?q?P=C5=99ed=C4=9Bl=C3=A1n=C3=AD=20v=C5=A1eho,=20c?= =?UTF-8?q?o=20pou=C5=BE=C3=ADvalo=20requirements.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 12 +++++++----- docs/dalsi_soubory.rst | 18 +++++++++++------- docs/skripty.rst | 2 +- docs/vyvoj.rst | 4 ++-- docs/zavislosti.rst | 6 +++--- make/install_web | 4 +++- 6 files changed, 27 insertions(+), 19 deletions(-) diff --git a/Dockerfile b/Dockerfile index b288c765..f01a58de 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9.18-slim-bullseye +FROM python:3.11.2-slim-bullseye # set work directory WORKDIR /usr/mamweb-docker @@ -16,10 +16,7 @@ RUN apt-get update && apt-get install -y \ imagemagick \ netcat \ postgresql-client -RUN pip install --upgrade pip -COPY ./requirements.txt . -COPY ./constraints.txt . -RUN pip install -r requirements.txt +RUN pip install --upgrade pip setuptools # allow correct locales RUN sed -i '/cs_CZ.UTF-8/s/^# //g' /etc/locale.gen && \ @@ -31,6 +28,11 @@ ENV LC_ALL cs_CZ.UTF-8 # copy project COPY . . +# Install dependencies +RUN pip install --upgrade . +RUN pip install --upgrade --group dev +RUN pip install --upgrade --group doc + # create test data once db is ready RUN chmod +x /usr/mamweb-docker/docker_entrypoint.sh ENTRYPOINT ["/usr/mamweb-docker/docker_entrypoint.sh"] \ No newline at end of file diff --git a/docs/dalsi_soubory.rst b/docs/dalsi_soubory.rst index 2b1a362b..8698e0f1 100644 --- a/docs/dalsi_soubory.rst +++ b/docs/dalsi_soubory.rst @@ -51,10 +51,6 @@ checklinks.sh ------------- „Týrací“ skript na kontrolu, že nic, kam se lze proklikat na webu, nehází chybu. -constraints.txt ---------------- -Obsahuje omezení na :ref:`requirements.txt`. - convert_spaces_to_tabs.sh ------------------------- Skript na změnu odsazování. @@ -81,6 +77,14 @@ README.md --------- Většina je spíš zbytek po bývalých webařích. -requirements.txt ----------------- -Seznam balíčků, které jsou potřeba pro běh mamwebu. (Cílem je vytvoření virtualenvu se všemi těmito balíčky, např. pomocí daného příkazu v :ref:`Makefile`.) +pyproject.toml +-------------- +Popis Pythoního projektu, tedy například seznam balíčků, které jsou potřeba pro běh mamwebu. (Cílem je vytvoření virtualenvu se všemi těmito balíčky, např. pomocí daného příkazu v :ref:`Makefile`.) + +uv.lock + .python-version +------------------------- +Pokud používáš uv, tak je to soubor s verzemi balíčků + Pythonu, které jsou potřeba pro běh mamwebu. + +dockerfile-compose.yml + docker_entrypoint.sh + Dockerfile +---------------------------------------------------------- +Soubory pro Docker. diff --git a/docs/skripty.rst b/docs/skripty.rst index 8f9e1064..54a4a901 100644 --- a/docs/skripty.rst +++ b/docs/skripty.rst @@ -75,7 +75,7 @@ Skripty pro lokální vývoj ^^^^^^^ ``make/install_web`` (nebo ekvivalentně ``make/install``) - Vytvoří virtualenv a nainstaluje do něj závislosti webu podle ``requirements.txt``. Následně popíše, jak vyrobit zbytek lokálního webu. + Vytvoří virtualenv a nainstaluje do něj závislosti webu podle ``pyproject.toml``. Následně popíše, jak vyrobit zbytek lokálního webu. ``make/run`` Spustí lokální web (ekvivalentní s ``./manage.py runserver``) ``make/schema`` diff --git a/docs/vyvoj.rst b/docs/vyvoj.rst index 2df0ae64..086d7518 100644 --- a/docs/vyvoj.rst +++ b/docs/vyvoj.rst @@ -62,9 +62,9 @@ se do ní (``cd mamweb``) O zprovoznění webu se stará skript ``make/install_web``, stačí ho spustit. Ten vytvoří virtualenv (neexistuje-li) a nainstaluje do něj závislosti webu (podle -souboru ``requirements.txt``). +souboru ``pyproject.toml``). -.. FIXME: Novowebaři zmínka o requirements.txt tady moc nepomůže, to má být na +.. FIXME: Novowebaři zmínka o pyproject.toml tady moc nepomůže, to má být na stránce o celkové stavbě repozitáře a stacku… Následně je potřeba nahrát další data do databáze, což uděláš pomocí příkazů diff --git a/docs/zavislosti.rst b/docs/zavislosti.rst index d407105d..6f70ad36 100644 --- a/docs/zavislosti.rst +++ b/docs/zavislosti.rst @@ -16,7 +16,7 @@ Základ webu =========== - ``python3`` – Ideálně Python 3.9, jenž je na Gimlim -- ``python3-pip`` pro instalaci dalších Pythoních balíčků podle ``requirements.txt`` +- ``python3-pip`` pro instalaci dalších Pythoních balíčků podle ``pyproject.toml`` - ``python3-venv`` - ``gcc`` – kompilace Pythoních knihoven ze zdrojových distribucí (sdist), možná (neotestováno) jde jako alternativu použít ``python3-wheel`` a stahovat bdists - ``python3-dev`` – taktéž @@ -45,7 +45,7 @@ Dokumentace =========== - ``make`` pro zbuildění -- Pythoní balíčky podle příslušné části ``requirements.txt`` +- Pythoní balíčky podle příslušné části ``pyproject.toml`` Vývojové nástroje ================= @@ -57,7 +57,7 @@ Vývojové nástroje - ``ssh`` - ``graphviz`` pro vygenerování schématu - ``rsync`` -- ``ipython3`` – hezčí interaktivní shell (stačí z ``requirements.txt``) +- ``ipython3`` – hezčí interaktivní shell (stačí z ``pyproject.toml``) Potenciální usnadnění života ============================ diff --git a/make/install_web b/make/install_web index 5ebf963d..995949b8 100755 --- a/make/install_web +++ b/make/install_web @@ -8,7 +8,9 @@ ensure_venv # Aktualizace toolchainu pip install --upgrade pip setuptools # Instalace závislostí webu -pip install -r requirements.txt --upgrade +pip install --upgrade . +pip install --upgrade --group dev +pip install --upgrade --group doc # XXX: Připomínka z původního Makefile: echo 'Pro vygenerování tesdat spusť ./manage.py testdata