[python] Django a debianí balí?kovací systém

Věroš Kaplan veros.kaplan na koren.cz
Úterý Červenec 12 10:32:49 CEST 2016


Ahoj,

virtualenv je trošku "hack" k tomu, že konkrétní aplikace obvykle potřebuje
konrétní verzi modulu (knihovny) v Pythonu. A je velké nebezpečí, že pokud
se změní verze knihovny, tak se aplikace "sama rozbije".

Pokud provozuješ nějakou starší aplikaci (napsanou třeba před 2 lety), tak
jí musíš prostě zajistit 2 roky staré verze knihoven a to řeší ten
virtualenv. Nebo aplikaci musí vývojář upravit pro nové (distribuční) verze
knihoven, což stojí čas a peníze.

To, že tímhle postupem musíš obsluhovat bezpečnostní aktualizace knihoven
sám a nemůžeš se spolehnout na distribuci, je smutný fakt.
Vyber si - buď to máš rozbitý nebo to nemáš zabezpečený. :-)

Alternativa je používat část knihoven z distribuce (typicky stabilní
knihovny typu numpy, reportlab, psycopg) a část knihoven mít ve vlastním
virtualenvu.

--Věroš
PS: Na Docker se zatím vykašli, ale bez virtualenv se nic většího moc
vyvíjet nedá.


2016-07-11 23:22 GMT+02:00 David Rohleder <davro na ics.muni.cz>:

> Zdar Věroši,
>
> díky, to vypadá zajímavě. Mrknu na to a konečně bude nějaká příležitost
> zajít na PyVo :-)
>
> Osobně si poslední dobou připadám jako stará struktura, takže docker
> kontejnery a virtualenv jsou pro mne trochu moc novot najednou :-)
>
> Mimochodem - ty virtualenv mně teda přijdou jako pěkná prasárna
> vzhledem k potřebám aktualizací systému a neexistující vazbě mezi
> virtualenvem a systémem (z mého pohledu je to takové z nouze ctnost
> řešení).
>
> David
>
>
> Věroš Kaplan píše v Po 11. 07. 2016 v 22:57 +0200:
> > Ahoj Davro,
> >
> > Velmi podobně to teď řeším - .RPM by mělo být self-contained - až na
> > data.
> >
> > v /opt/cool-app/virtualenv je virtualenv (s vlastními verzemi
> > pythonových knihoven)
> > v /opt/cool-app/ je zbytek aplikace
> > v /etc/systemd/.../cool-app.service je konfigurace wsgi, aby se celá
> > ta aplikace spustila.
> >
> > A celou tuhle špinavou práci ( git repo || -> .RPM || .DEB) za mně
> > dělá Jenkins jako wrapper nad fpm, tak mne existence dvou zamíchaných
> > adresářů netrápí. Pro to fpm ( https://github.com/jordansissel/fpm )
> > si pouštím čisté VM (nebo dneska Docker kontejnery), takže mne
> > netrápí, že v systému je nepořádek.
> >
> > Když zajdeš na oběd, tak to můžu ukázat. Nebo můžu udělat na nějakým
> > PyVu malý talk. Jen mám pocit, že to je věc, která je známá a nkoho
> > by nezajímala.
> >
> > Myslím, že je trošku matoucí to, že "Django app" (tedy
> > znovupoužitelná komponenta pro vývojáře) je jiná věc, než to co
> > považuji za "app" já, jako admin.
> >
> > --Věroš
> > PS: Doufám, že odpovídám na správný thread a na to co se ptáš.
> >
> > 2016-07-11 22:13 GMT+02:00 David Rohleder <davro na ics.muni.cz>:
> > > David Rohleder píše v Po 11. 07. 2016 v 22:04 +0200:
> > > >
> > > > Chtěl jsem k tomu přistoupit jako ke standardnímu pythonovému
> > > řešení
> > > > -
> > > > vyrobit setup.py ze setuptools, pomocí nich to nainstalovat do
> > > > nějakého
> > > > adresáře a pak na tom adresáři spustit balíčkovací nástroje, ale
> > > > zatím
> > > > se zasekávám na těch minimálně dvou adresářích potřebných pro
> > > každou
> > > > appku. Ten django přístup se mně v tomto případě moc nelíbí.
> > > >
> > >
> > >
> > > ještě jsem uvažoval o tom, že bych prostě tu appku celou zkopíroval
> > > do
> > > projektového adresáře, tj.
> > >
> > > $ django-admin startproject app1
> > > $ cd app1 (dostanu se do adresáře projektu)
> > > $ django-admin startapp appX
> > > $ mv appX/* app1
> > >
> > > a tento výsledek zabalil.
> > >
> > > Viděl by v tom někdo nějaký problém?
> > >
> > > Díky
> > >
> > > David
> > >
> > > _______________________________________________
> > > Python mailing list
> > > python na py.cz
> > > http://www.py.cz/mailman/listinfo/python
> > >
> > > Visit: http://www.py.cz
> > >
> >
> >
> > --
> > --V.Kaplan
> > _______________________________________________
> > Python mailing list
> > python na py.cz
> > http://www.py.cz/mailman/listinfo/python
> >
> > Visit: http://www.py.cz
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>



-- 
--V.Kaplan
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20160712/3da349d0/attachment.html>


Další informace o konferenci Python