Tworzenie i budowanie projektu - skrypt

Tworzenie i budowanie projektu - skrypt
tBane
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 552
0

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?

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10285
0

Fajny jest taskfile: https://taskfile.dev/getting-started/

HO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

@Riddle: Czy to ma jakieś zalety w porównaniu do Makefile?

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10285
0
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

KE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 778
0

Jest jeszcze Just, z tego co widzę to bardzo podobny do Task.

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5059
0

@tBane A po co Ci to? Masz dosłownie trzy komendy: stworzenie środowiska, instalacja zależności i ew. Path

tBane
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 552
0

@lion137 ponieważ mam wiele plików w projekcie i chciałbym je jakoś uporządkować

Kopiuj
Battleships/
├── Battleships/
│   ├── src/
│   │   ├── Button.py
│   │   ├── Text.py
│   │   ├── Theme.py
│   │   └── Window.py
│   └── tex/
└── screenshots/
    ├── 01.png
    └── 02.png
Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10285
0
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ć

Kopiuj
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ć?

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10285
1

Tak teraz patrzę, w pythonie raczej nie robi się folderu src/, tylko nazywa się go nazwą aplikacji, bardziej coś w stylu:

Kopiuj
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:

Kopiuj
python -m ships
tBane
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 552
0

Ok to zrobię tak:

Kopiuj
Battleships/
├── Battleships/
│   ├── src/
│   │   ├── Button.py
│   │   ├── Text.py
│   │   ├── Theme.py
│   |   └── Window.py
│   ├── tex/
│   └── __main__.py
└── screenshots/
    ├── 01.png
    └── 02.png
Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10285
1
tBane napisał(a):

Ok to zrobię tak:

Kopiuj
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:

Kopiuj
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.