Cześć. Chciałbym zautomatyzować tworzenie i budowanie projektu napisanego w Python3.
Chodzi mi o coś takiego jak cmake dla projektu w Visual Studio napisanego w C++.
Czy da się napisać taki skrypt jak CMakeLists.txt?
Tworzenie i budowanie projektu - skrypt
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Poznań
- Postów: 552
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10285
Fajny jest taskfile: https://taskfile.dev/getting-started/
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10285
Hoplita napisał(a):
@Riddle: Czy to ma jakieś zalety w porównaniu do Makefile?
Mi się z taskfile korzysta dużo lepiej, w większość projektów przemigrowałem makefile do taskfile i jestem zadowolony. Ktoś inny może mieć inne odczucia, nie bronie mu
Wady makefile, to np to: https://stackoverflow.com/questions/19307258/how-to-include-a-makefile-into-an-other-makefile
- Rejestracja: dni
- Ostatnio: dni
- Postów: 778
Jest jeszcze Just, z tego co widzę to bardzo podobny do Task.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Poznań
- Postów: 552
@lion137 ponieważ mam wiele plików w projekcie i chciałbym je jakoś uporządkować
Battleships/
├── Battleships/
│ ├── src/
│ │ ├── Button.py
│ │ ├── Text.py
│ │ ├── Theme.py
│ │ └── Window.py
│ └── tex/
└── screenshots/
├── 01.png
└── 02.png
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10285
kelog napisał(a):
Jest jeszcze Just, z tego co widzę to bardzo podobny do Task.
Korzystałem z just, ale wydaje się bardziej toporny.
lion137 napisał(a):
@tBane A po co Ci to? Masz dosłownie trzy komendy: stworzenie środowiska, instalacja zależności i ew. Path
Nie ma nic złego w chęci uporządkowania projektu, @tBane ja jestem z Tobą.
tBane napisał(a):
@lion137 ponieważ mam wiele plików w projekcie i chciałbym je jakoś uporządkować
Battleships/ ├── Battleships/ │ ├── src/ │ │ ├── Button.py │ │ ├── Text.py │ │ ├── Theme.py │ │ └── Window.py │ └── tex/ └── screenshots/ ├── 01.png └── 02.png
Jakie komendy teraz używasz, które chciałbyś uporządkować? Mógłbyś je napisać?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10285
Tak teraz patrzę, w pythonie raczej nie robi się folderu src/, tylko nazywa się go nazwą aplikacji, bardziej coś w stylu:
Battleships/
├── Battleships/
│ ├── ships/
│ │ ├── Button.py
│ │ ├── Text.py
│ │ ├── Theme.py
│ │ ├── Window.py
│ │ └── __main__.py
│ └── tex/
└── screenshots/
├── 01.png
└── 02.png
Jak nazwiesz tak paczkę, i masz plik __main__.py, to możesz uruchomić program takim poleceniem:
python -m ships
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Poznań
- Postów: 552
Ok to zrobię tak:
Battleships/
├── Battleships/
│ ├── src/
│ │ ├── Button.py
│ │ ├── Text.py
│ │ ├── Theme.py
│ | └── Window.py
│ ├── tex/
│ └── __main__.py
└── screenshots/
├── 01.png
└── 02.png
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10285
tBane napisał(a):
Ok to zrobię tak:
Battleships/ ├── Battleships/ │ ├── src/ │ │ ├── Button.py │ │ ├── Text.py │ │ ├── Theme.py │ | └── Window.py │ ├── tex/ │ └── __main__.py └── screenshots/ ├── 01.png └── 02.png
__main__ musi być w pakiecie, inaczej nie będzie rozpoznany jako część modułu.
Możesz tak zrobić, droga wolna, tylko że będziesz tak odstawał od innych projektów w pythonie. Jak będziesz chciał skopiować inny projekt, to będzie się różnił od Twojego. Ale jak tam sobie chcesz.
Moim zdaniem najlepiej się pracuje jakbyś miał coś takiego:
Battleships/
├── ships/
│ ├── Button.py
│ ├── Text.py
│ ├── Theme.py
│ ├── Window.py
│ └── __main__.py
├── tex/
└── screenshots/
├── 01.png
└── 02.png
Ewentualnie screenshots/ możesz wsadzić do jakiegoś folderu docs/, jak chcesz.