63 lines
1.6 KiB
Markdown
63 lines
1.6 KiB
Markdown
# Build script for my book projects
|
|
|
|
## Dependencies
|
|
|
|
* python>=3.x
|
|
* python-poetry>=1.1.0
|
|
|
|
## Installation
|
|
|
|
Im lokalen `bookbuild`-Repository (Development) **fkt. nicht: der Befehl installiert nur die dependencies, nicht bookbuild selbst**:
|
|
|
|
```bash
|
|
$ poetry build
|
|
$ poetry install
|
|
```
|
|
|
|
In einem `book`-Repository und nur auf dieses begrenzt:
|
|
|
|
```bash
|
|
$ python -m venv .venv
|
|
$ source .venv/bin/activate
|
|
$ cd ~/path/to/bookbuild
|
|
$ poetry build
|
|
$ poetry install # alternativ: pip install dist/bookbuild-x.y.z-py3-none-any.whl
|
|
```
|
|
|
|
Systemweit (fkt. noch nicht):
|
|
|
|
```bash
|
|
$ pip install -e git+https://git.unterdemradar.de/tobias/bookbuild#egg=bookbuild
|
|
|
|
```
|
|
|
|
|
|
## Programm ausführen
|
|
|
|
Mit `poetry run bookbuild` kann man das Programm ausführen, ohne die venv vorher aktivieren zu müssen (das erledigt poetry im Hintergrund).
|
|
|
|
Manchmal passiert es, dass der Befehl immer nur die installierte Version ausführt und nicht den aktuellen Code aus dem Repository. In diesem Fall muss man `poetry update` ausführen, dann sollte es wieder gehen
|
|
|
|
Im Zweifel kann man den aktuellen Code auch direkt ausführen, indem man das `src/`-Verzeichnis mit einbezieht. Dazu wechselt man entweder ins Verzeichnis:
|
|
|
|
```bash
|
|
$ # mit poetry
|
|
$ cd src/
|
|
$ poetry run bookbuild # oder poetry run python -m bookbuild
|
|
$ # ohne poetry
|
|
$ . .venv/bin/activate
|
|
$ cd src/
|
|
$ python -m bookbuild
|
|
```
|
|
|
|
Oder man gibt das Verzeichnis als Modulpfad mit an:
|
|
|
|
```bash
|
|
$ # mit poetry
|
|
$ poetry run python -m src.bookbuild # was nicht geht: poetry run src.bookbuild
|
|
$ # ohne poetry
|
|
$ . .venv/bin/activate
|
|
$ python -m src.bookbuild
|
|
```
|
|
|