Python - doporučení deploymentu na servery

Python - doporučení deploymentu na servery
« kdy: 16. 02. 2020, 17:45:43 »
Konecne jsem se dokopal poslat perl do dejin a zacal jsem skriptovat v pythonu.

Vyvijim na woknech, mam pycharm community edition, ktery si vytvoril virtualenv a prer
s pip jsem do pycharmu natahal pr libraries jako napr Mako.

Potrebuju hint, jak vysledek snazeni dostat na linux server bez internetu (tedy bez PIPu), tedy nejakou obdobu Java FAT JAR, kde staci na  serveru mit JRE a pak staci nahrat jeden JAR a deployment je hotov.

Potrebuju nakopnout jakym zpusobem prenesu nejlepe cely virtualenv, abych mel zajistene presne verze knihoven.
« Poslední změna: 16. 02. 2020, 17:56:57 od Petr Krčmář »


Re:Python - doporučení deploymentu na servery
« Odpověď #1 kdy: 16. 02. 2020, 21:08:22 »
Taxem si to nasel sam

1. Stahnu na stroji s internetem PIP baliky, nutno pridat balik wheel, ktery to pak porebuje pri offline instalaci
# pip3 download -d offline/ wheel mako

2. Na cilovem serveru bez inetu si vyrobim prazdny virtualenv
# apt install python3-venv
# python3 -m venv my-project-env
# source my-project-env/bin/activate

3. Nainstaluju baliky do virtualenv
# pip3 install /home/xxx/offline/wheel-0.34.2-py2.py3-none-any.whl
# pip3 install /home/xxx/offline/Mako-1.1.1.tar.gz

Jinak, co se tyce pythonu, ne uplne chapu tu prevelikou oblibu, momentalne nejpouzivanejsi jazyk.
Je to lepci nez perl nebo GO, ale treba jawe to nesaha po kotniky.

qelurg

  • ****
  • 372
    • Zobrazit profil
    • E-mail
Re:Python - doporučení deploymentu na servery
« Odpověď #2 kdy: 17. 02. 2020, 00:59:05 »
Je to jednodussi a pohodlnejsi nez java, ruzni lide maji ruzne potreby a python evidentne saturuje potreby vice lidi. To neznamena, ze se bude libit vsem.

Re:Python - doporučení deploymentu na servery
« Odpověď #3 kdy: 17. 02. 2020, 07:45:08 »
Ja bych rekl, ze je fajn vytvorit si vlastni docker image (kde je cele prostredi ktere appka potrebuje). Pak to bud exportovat jako file nebo s pomoci private docker registry nasadit tam kde potrebujes.

Re:Python - doporučení deploymentu na servery
« Odpověď #4 kdy: 17. 02. 2020, 07:55:03 »
Jinak, co se tyce pythonu, ne uplne chapu tu prevelikou oblibu, momentalne nejpouzivanejsi jazyk.
Je to lepci nez perl nebo GO, ale treba jawe to nesaha po kotniky.

Pro Python je strašně moc knihoven vpodstatě na všechno a hrozně jednoduše se adoptují.
Takže než si to uvědomíš, začneš je používat, staneš se na nich závislý, a když hledáš
vhodnou náhradu, tak zjistíš, že by to bylo tak pracné, že to vzdáš.


Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Python - doporučení deploymentu na servery
« Odpověď #5 kdy: 17. 02. 2020, 09:00:09 »
Python a Java jsou tak moc jine, ze je takhle obecne vubec nema smysl srovnavat. Nikdo kazdopadne nedrzi nikomu pistoli u hlavy, vyber si co chces nebo si dokonce klidne vymysli vlastni jazyk.

Re:Python - doporučení deploymentu na servery
« Odpověď #6 kdy: 17. 02. 2020, 09:40:34 »
Jinak, co se tyce pythonu, ne uplne chapu tu prevelikou oblibu, momentalne nejpouzivanejsi jazyk.
Je to lepci nez perl nebo GO, ale treba jawe to nesaha po kotniky.

Pro Python je strašně moc knihoven vpodstatě na všechno a hrozně jednoduše se adoptují.
Takže než si to uvědomíš, začneš je používat, staneš se na nich závislý, a když hledáš
vhodnou náhradu, tak zjistíš, že by to bylo tak pracné, že to vzdáš.

Mno tak pro jawu je toho este vic nez pro python, https://mvnrepository.com/repos/central

Na pythonu me nejvic stval ten dynamicky typing.
V jawe vim co mi presne leze z metody a jake jsou typy parametru, vi to i IDE a adekvatne navadi pri psani kodu.
V pythonu musim porad v hlave drzet co z toho vlastne leze dovnitr a ven. Ve verzi 3.8 uz do toho dobastlujou typying.
Ono je IMHO lepci navrhnout jazyk na zacatku robustne, nez pak dobastlovat private atributy pres double underscores.

Re:Python - doporučení deploymentu na servery
« Odpověď #7 kdy: 17. 02. 2020, 10:26:34 »
Jinak, co se tyce pythonu, ne uplne chapu tu prevelikou oblibu, momentalne nejpouzivanejsi jazyk.
Je to lepci nez perl nebo GO, ale treba jawe to nesaha po kotniky.

Pro Python je strašně moc knihoven vpodstatě na všechno a hrozně jednoduše se adoptují.
Takže než si to uvědomíš, začneš je používat, staneš se na nich závislý, a když hledáš
vhodnou náhradu, tak zjistíš, že by to bylo tak pracné, že to vzdáš.

Mno tak pro jawu je toho este vic nez pro python, https://mvnrepository.com/repos/central

Nejde jen o množství, ale taky o ease of use. Ale já to ale opravdu nemyslím jako plus pro Python.

Citace
Na pythonu me nejvic stval ten dynamicky typing.
V jawe vim co mi presne leze z metody a jake jsou typy parametru, vi to i IDE a adekvatne navadi pri psani kodu.
V pythonu musim porad v hlave drzet co z toho vlastne leze dovnitr a ven. Ve verzi 3.8 uz do toho dobastlujou typying.
Ono je IMHO lepci navrhnout jazyk na zacatku robustne, nez pak dobastlovat private atributy pres double underscores.

Víš, pokud mohu velmi zdvořile, čistě jako tip na zlepšení, a bez jakýchkoliv úmyslů vyvolávat hádku: myslíš, že někdo bude brát vážně Tvůj názor na Javu, když to ani neumíš napsat?!?

Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Python - doporučení deploymentu na servery
« Odpověď #8 kdy: 17. 02. 2020, 11:03:54 »
Ono je IMHO lepci navrhnout jazyk na zacatku robustne, nez pak dobastlovat private atributy pres double underscores.

To je urcite lepsi, ale pokud bych chtel ukazovat jako vzor dobreho navrhu nejaky konkretni jazyk, urcite bych nezvolil Javu s jejimi puvodnimi kolekcemi, ktere, diky absenci generik, ktere jim tam dopsal az po case Odersky, nemely poneti o tom, jaky typ objektu obsahuji a clovek musel ty objekty pretypovavat jako v C (pricemz C++ uz davno pred Javou tohle melo vyreseno) a desit se, jestli se neseknul. To byla robustnost opravdu jako noha. A tech zrudnosti, ktere v historii Java prinesla a ktere az diky konkurenci v podobe C# genialni inzenyri ze Sunu neochotne opustili, byla cela rada.

Oproti tomu, Python, kdyz jsem v nem zacal psat, byl uplne super v tom, ze napsat Hello world neznamenalo zadne public static class main, otevreni souboru a nacteni obsahu byl jeden radek, standardni knihovna byla sice trochu nabastlena, ale prace s ni naprosto intuitivni a prijemna, zadne valceni s Mavenem nebo co to pred tim pouzivali. Dynamicke typovani je nekdy na houby, ale neni to takove peklo, jak si mysli lidi, kteri mentalne neopustili Javu nebo jiny staticky jazyk.

Nicmene, pokud bych mel misto Pythonu volit neco jineho ciste na zaklade jazyka, pujdu do Rustu, moderniho C++, Scaly, Kotlinu, F#, ale rozhodne, rozhodne dobrovolne nikdy Javu. Ale jak jsem psal, je to na Tobe, ale to zobecnovani je k nicemu.

Re:Python - doporučení deploymentu na servery
« Odpověď #9 kdy: 17. 02. 2020, 11:10:56 »


Víš, pokud mohu velmi zdvořile, čistě jako tip na zlepšení, a bez jakýchkoliv úmyslů vyvolávat hádku: myslíš, že někdo bude brát vážně Tvůj názor na Javu, když to ani neumíš napsat?!?

On mluvi o motorkach..... :-)

qelurg

  • ****
  • 372
    • Zobrazit profil
    • E-mail
Re:Python - doporučení deploymentu na servery
« Odpověď #10 kdy: 17. 02. 2020, 14:29:24 »
Na pythonu me nejvic stval ten dynamicky typing.
V jawe vim co mi presne leze z metody a jake jsou typy parametru, vi to i IDE a adekvatne navadi pri psani kodu.
V pythonu musim porad v hlave drzet co z toho vlastne leze dovnitr a ven. Ve verzi 3.8 uz do toho dobastlujou typying.
Ono je IMHO lepci navrhnout jazyk na zacatku robustne, nez pak dobastlovat private atributy pres double underscores.
To neni bug, ale featura, diky ktere je python tak jednoduse pouzitelny a proto tak oblibeny. Dobrovolny type hinting uz ma python dlouho, ale nepouzivam to, protoze me zase stve nepohodlnost a zkostnatelost statickeho typovani. Ale je proto pouzivam nastroj, ktery mi vyhovuje a do ostatnich nekrafam.