Předělání requirements.txt a dalších věcí do pyproject.toml #107
6 changed files with 27 additions and 19 deletions
12
Dockerfile
12
Dockerfile
|
|
@ -1,4 +1,4 @@
|
||||||
FROM python:3.9.18-slim-bullseye
|
FROM python:3.11.2-slim-bullseye
|
||||||
|
|
||||||
# set work directory
|
# set work directory
|
||||||
WORKDIR /usr/mamweb-docker
|
WORKDIR /usr/mamweb-docker
|
||||||
|
|
@ -16,10 +16,7 @@ RUN apt-get update && apt-get install -y \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
netcat \
|
netcat \
|
||||||
postgresql-client
|
postgresql-client
|
||||||
RUN pip install --upgrade pip
|
RUN pip install --upgrade pip setuptools
|
||||||
COPY ./requirements.txt .
|
|
||||||
COPY ./constraints.txt .
|
|
||||||
RUN pip install -r requirements.txt
|
|
||||||
|
|
||||||
# allow correct locales
|
# allow correct locales
|
||||||
RUN sed -i '/cs_CZ.UTF-8/s/^# //g' /etc/locale.gen && \
|
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 project
|
||||||
COPY . .
|
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
|
# create test data once db is ready
|
||||||
RUN chmod +x /usr/mamweb-docker/docker_entrypoint.sh
|
RUN chmod +x /usr/mamweb-docker/docker_entrypoint.sh
|
||||||
ENTRYPOINT ["/usr/mamweb-docker/docker_entrypoint.sh"]
|
ENTRYPOINT ["/usr/mamweb-docker/docker_entrypoint.sh"]
|
||||||
|
|
@ -51,10 +51,6 @@ checklinks.sh
|
||||||
-------------
|
-------------
|
||||||
„Týrací“ skript na kontrolu, že nic, kam se lze proklikat na webu, nehází chybu.
|
„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
|
convert_spaces_to_tabs.sh
|
||||||
-------------------------
|
-------------------------
|
||||||
Skript na změnu odsazování.
|
Skript na změnu odsazování.
|
||||||
|
|
@ -81,6 +77,14 @@ README.md
|
||||||
---------
|
---------
|
||||||
Většina je spíš zbytek po bývalých webařích.
|
Většina je spíš zbytek po bývalých webařích.
|
||||||
|
|
||||||
requirements.txt
|
pyproject.toml
|
||||||
----------------
|
--------------
|
||||||
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`.)
|
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.
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ Skripty pro lokální vývoj
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
``make/install_web`` (nebo ekvivalentně ``make/install``)
|
``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``
|
``make/run``
|
||||||
Spustí lokální web (ekvivalentní s ``./manage.py runserver``)
|
Spustí lokální web (ekvivalentní s ``./manage.py runserver``)
|
||||||
``make/schema``
|
``make/schema``
|
||||||
|
|
|
||||||
|
|
@ -62,9 +62,9 @@ se do ní (``cd mamweb``)
|
||||||
|
|
||||||
O zprovoznění webu se stará skript ``make/install_web``, stačí ho spustit. Ten
|
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
|
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…
|
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ů
|
Následně je potřeba nahrát další data do databáze, což uděláš pomocí příkazů
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Základ webu
|
||||||
===========
|
===========
|
||||||
|
|
||||||
- ``python3`` – Ideálně Python 3.9, jenž je na Gimlim
|
- ``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``
|
- ``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
|
- ``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éž
|
- ``python3-dev`` – taktéž
|
||||||
|
|
@ -45,7 +45,7 @@ Dokumentace
|
||||||
===========
|
===========
|
||||||
|
|
||||||
- ``make`` pro zbuildění
|
- ``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
|
Vývojové nástroje
|
||||||
=================
|
=================
|
||||||
|
|
@ -57,7 +57,7 @@ Vývojové nástroje
|
||||||
- ``ssh``
|
- ``ssh``
|
||||||
- ``graphviz`` pro vygenerování schématu
|
- ``graphviz`` pro vygenerování schématu
|
||||||
- ``rsync``
|
- ``rsync``
|
||||||
- ``ipython3`` – hezčí interaktivní shell (stačí z ``requirements.txt``)
|
- ``ipython3`` – hezčí interaktivní shell (stačí z ``pyproject.toml``)
|
||||||
|
|
||||||
Potenciální usnadnění života
|
Potenciální usnadnění života
|
||||||
============================
|
============================
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,9 @@ ensure_venv
|
||||||
# Aktualizace toolchainu
|
# Aktualizace toolchainu
|
||||||
pip install --upgrade pip setuptools
|
pip install --upgrade pip setuptools
|
||||||
# Instalace závislostí webu
|
# 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:
|
# XXX: Připomínka z původního Makefile:
|
||||||
echo 'Pro vygenerování tesdat spusť ./manage.py testdata
|
echo 'Pro vygenerování tesdat spusť ./manage.py testdata
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue