Python 3: vytvorenie balíka pre produkciu

oss

  • ***
  • 247
    • Zobrazit profil
    • E-mail
Python 3: vytvorenie balíka pre produkciu
« kdy: 10. 11. 2024, 11:39:45 »
Zdedil som Python 3 projekt po byvalom kolegovi, vyuziva niekolko pip balickov. Je to CMD tool.
Ako z toho spravim portable verziu alebo balik, aby to slo spustit bez toho aby bolo nutne instaloval kniznice cez pip a potrebujem aby to fungovalo na vsetkych 3 platformach.


Re:Python 3: vytvorenie balíka pre produkciu
« Odpověď #1 kdy: 10. 11. 2024, 12:16:35 »
Mrkněte na
https://packaging.python.org/en/latest/overview/

Tam jsou popsané všechny možné způsoby a varianty, plus základní vysvětlení co je module, source package, wheel. Včetně třeba odkazů na další nástroje, které s tím umí pomoct a udělat nějaké self-contained balíčky (pokud je to to, co chcete).

Asi bude dost záležet na tom, které závislosti tam kolega má. Např. některé externí moduly jsou napsané čistě v Pythonu a není tam žádný problém dát je jednoduše do toho samého adresáře jako aplikaci a importovat. Na druhou stranu pak můžete najít i složitější moduly, které jsou z části napsané v Pythonu a z části pak třeba v C, C++ (kvůli rychlosti, nebo nějaké přímému použití nějaké další nativní knihovny). Ty už se pak nedají jednoduše kopírovat mezi různými platformami a systémy, protože je musíte buď na každé separátně sestavit (musí tam být případné build deps) nebo použít binární wheel (buď svůj, nebo třeba stažený z PyPi).
Jinak samozřejmě i ty hotové wheely si můžete stáhnout někam lokálně, pokud nechcete být závislý na PyPi. A udělat pak například jen instalační skript pro tu aplikaci, který je bude instalovat její závislosti přes pip z vašeho serveru (Na MacOSu a Windows je pip součástí distribuce Pythonu, takže je tam rovnou. Na většině Linuxových distribucí je to pak jako volitelný balíček).

Re:Python 3: vytvorenie balíka pre produkciu
« Odpověď #2 kdy: 11. 11. 2024, 13:42:00 »
pyinstaller,
mam vyzkousene na 2 platformach