Thread View: pl.comp.lang.python
17 messages
17 total messages
Started by Michal
Fri, 18 Mar 2011 21:05
Budowanie paczek z zaleznosciami
Author: Michal
Date: Fri, 18 Mar 2011 21:05
Date: Fri, 18 Mar 2011 21:05
8 lines
1047 bytes
1047 bytes
Witam, czy w pythonie sa jakies w miare przyjazne narzedzia do budowania czegos na ksztalt javowskich jar'ow wraz z zaleznosciami, ktore sa wymagane do uruchomienia aplikacji. Procz, oczywiscie, samego interpretera oraz pakietow zawartych w interpreterze. -- Michal
Re: Budowanie paczek z zaleznosciami
Author: Artur Lew
Date: Fri, 18 Mar 2011 22:14
Date: Fri, 18 Mar 2011 22:14
18 lines
1763 bytes
1763 bytes
W dniu 2011-03-18 22:05, Michal pisze: > czy w pythonie sa jakies w miare przyjazne narzedzia do budowania > czegos na ksztalt javowskich jar'ow wraz z zaleznosciami, ktore sa wymagane do uruchomienia aplikacji. > Procz, oczywiscie, samego interpretera oraz pakietow zawartych w interpreterze. Tak. Od wielu lat z powodzeniem uzywam setuptools do tego celu. Po przygotowaniu pliku setup.py wykonujesz polecenie: python setup.py bdist_egg Wynikiem jest ladne jajeczko tj paczka z rozszerzeniem egg (to zwykly zip podobnie jak jar) A opis tego masz tutaj: http://packages.python.org/an_example_pypi_project/setuptools.html -- Pozdrawiam Artur Lew arturdotlewatgmaildotcom
Re: Budowanie paczek z zaleznosciami
Author: Michal
Date: Tue, 22 Mar 2011 20:38
Date: Tue, 22 Mar 2011 20:38
22 lines
1550 bytes
1550 bytes
On Fri, 18 Mar 2011 23:14:03 +0100 Artur Lew <no_spamik_artee@poczta.onet.pl> wrote: > Tak. > Od wielu lat z powodzeniem uzywam setuptools do tego celu. > Po przygotowaniu pliku setup.py wykonujesz polecenie: > python setup.py bdist_egg > Wynikiem jest ladne jajeczko tj paczka z rozszerzeniem egg (to zwykly > zip podobnie jak jar) > > A opis tego masz tutaj: > http://packages.python.org/an_example_pypi_project/setuptools.html > Popraw mnie, jesli sie myle ale pliki egg wygladaja mi na jakies pliki instalacyjne, a ja potrzebuje zachowania, ktore umozliwia jar: java -jar moj_notatnik_z_zaleznosciami_poza_jre.jar -- Michal
Re: Budowanie paczek z zaleznosciami
Author: Michal
Date: Tue, 22 Mar 2011 20:59
Date: Tue, 22 Mar 2011 20:59
31 lines
1865 bytes
1865 bytes
On Tue, 22 Mar 2011 21:38:18 +0100 Michal <natural-born-killer@donotmail.me> wrote: > > On Fri, 18 Mar 2011 23:14:03 +0100 > Artur Lew <no_spamik_artee@poczta.onet.pl> wrote: > > > Tak. > > Od wielu lat z powodzeniem uzywam setuptools do tego celu. > > Po przygotowaniu pliku setup.py wykonujesz polecenie: > > python setup.py bdist_egg > > Wynikiem jest ladne jajeczko tj paczka z rozszerzeniem egg (to zwykly > > zip podobnie jak jar) > > > > A opis tego masz tutaj: > > http://packages.python.org/an_example_pypi_project/setuptools.html > > > > > Popraw mnie, jesli sie myle ale pliki egg wygladaja mi na jakies pliki instalacyjne, > a ja potrzebuje zachowania, ktore umozliwia jar: > java -jar moj_notatnik_z_zaleznosciami_poza_jre.jar Juz to rozgryzlem, w module musi byc plik __main__.py i on zostanie uruchomiony po wydaniu polecenia python module.zip -- Michal
Re: Budowanie paczek z zaleznosciami
Author: Artur Lew
Date: Tue, 22 Mar 2011 21:06
Date: Tue, 22 Mar 2011 21:06
38 lines
3319 bytes
3319 bytes
W dniu 2011-03-22 21:38, Michal pisze: > Popraw mnie, jesli sie myle ale pliki egg wygladaja mi na jakies pliki instalacyjne, > a ja potrzebuje zachowania, ktore umozliwia jar: > java -jar moj_notatnik_z_zaleznosciami_poza_jre.jar Pliki egg to zwykle zipy z plikami aplikacji wraz z zaleznosciami (np inne biblioteki Pythona, pliki wykonywalne, grafika, web, etc...). Technicznie odpowiadaja dokladnie temu co oferuje format JAR oprocz tego ze nie ma manifestu takiego jak w Javie (jest za to plik *.egg-info). Ba mysle ze JAR jest skromny jezeli chodzi o mozliwosci w porownaniu do egg ;) Przelacznikow oprocz bdist_egg masz od groma umozliwajacych totalna kontrole nad tym co sie buduje i jak sie buduje. Co wiecej jednym przelacznikiem od razu mozesz opublikowac paczke uzywajac PyPi. Bardzo wygodne jest deployowanie takiej paczki na docelowym srodowisku poniewaz oprocz np budowania natywnych dla danej platformy bibliotek i sciagania zaleznosci narzedzie moze od razu po tym wszystkim uruchomic zestaw testow jednostkowych sprawdzajac aplikacje w "boju" na docelowym srodowisku. Plik egg podobnie jak i np ear moze byc mapowany na katalog. Oznacza to ze jezeli go rozpakujesz do takiego samego katalogu jak nazwa pliku (lacznie z rozszerzeniem) to mozesz pracowac na tak rozpakowanej kopii tak samo jak na pojedynczym jajeczku :) Latwo w ten sposob debugowac i sprawdzac zewnetrzne biblioteki bo odpada koniecznosc deployowania calego egg za kazdym razem w przeciwienstwie np do JBossa ;) Oczywiscie rownie fajnie pracuje sie na wielu wersjach tej samego jajka. Aktywna wersja biblioteki jest przechowywana w pliku easy-install.pth. Oczywiscie malkontenci powiedza ze jeszcze latwiej pracuje sie na virtual pythonie ale opinie sa tutaj mieszane :D Konczac temat, jezeli twierdzisz ze brakuje Ci jakis mozliwosci setuptools to zawsze mozesz dodac kolejna komende i sobie ja oprogramowac w miare wygodny sposob... -- Pozdrawiam Artur Lew arturdotlewatgmaildotcom
Re: Budowanie paczek z zaleznosciami
Author: Michal
Date: Fri, 25 Mar 2011 21:35
Date: Fri, 25 Mar 2011 21:35
9 lines
1441 bytes
1441 bytes
Pisales, ze zaleznosci sa daciagane lub w razie potrzeby kompilowane na docelowym systemie. To jest nie dokladnie to co mi sie podoba. Plik ma byc jak jar czyli poprostu go uruchamiam bez polaczen z internetem itp. Czy plik egg umozliwia zrobienie cos co nazywa sie "self contained jar". Czyli jar z wszystkimi zaleznosciami *w srodku*, a nie z informacjami jakie sa to zaleznosci? -- Michal
Re: Budowanie paczek z zaleznosciami
Author: Stachu 'Dozzie' K.
Date: Fri, 25 Mar 2011 21:46
Date: Fri, 25 Mar 2011 21:46
17 lines
2260 bytes
2260 bytes
On 2011-03-25, Michal <natural-born-killer@do.not.mail.me.or.i.will.kill.you> wrote: > Pisales, ze zaleznosci sa daciagane lub w razie potrzeby kompilowane na > docelowym systemie. To jest nie dokladnie to co mi sie podoba. Plik > ma byc jak jar czyli poprostu go uruchamiam bez polaczen z internetem itp. > Czy plik egg umozliwia zrobienie cos co nazywa sie "self contained jar". > Czyli jar z wszystkimi zaleznosciami *w srodku*, a nie z informacjami jakie > sa to zaleznosci? Ale ty chcesz wpieprzyć w Pythona wszystkie jak leci problemy z JAR-ami wynikające z kretyńskiego zwyczaju włączania bibliotek, nieważne czy już zainstalowanych czy nie. Odpieprz się od tego pomysłu. To zostało dawno, dawno temu załatwione przez systemy pakietów (APT, Yum) i zduplikowane przez mechanizm pythonowych jajek. -- Secunia non olet. Stanislaw Klekot
Re: Budowanie paczek z zaleznosciami
Author: Artur Lew
Date: Fri, 25 Mar 2011 21:52
Date: Fri, 25 Mar 2011 21:52
22 lines
2353 bytes
2353 bytes
W dniu 2011-03-25 22:35, Michal pisze: > Pisales, ze zaleznosci sa daciagane lub w razie potrzeby kompilowane na > docelowym systemie. To jest nie dokladnie to co mi sie podoba. Plik > ma byc jak jar czyli poprostu go uruchamiam bez polaczen z internetem itp. > Czy plik egg umozliwia zrobienie cos co nazywa sie "self contained jar". > Czyli jar z wszystkimi zaleznosciami *w srodku*, a nie z informacjami jakie > sa to zaleznosci? Tego nie wiem ale tak jak Ci kolega Stachu napisal... To najgorszy koszmar na srodowiskach Javowych gdzie w runtime classloader laduje Ci jakiegos truposza bo ktos sobie wpieprzyl to w jara... Brrrr, jakby ludzie widzieli jak wyglada ten "Enterprise" i "Bussines" od srodka ;) Jezeli docelowe srodowisko ma nie miec dostepu do neta to nie jest to zaden problem bo mozesz dostarczyc wszystkie inne wymagane jajka i zainstalowac je w trybie offline lacznie z Twoja aplikacja. Po szczegoly odsylam do manuala ;) -- Pozdrawiam Artur Lew arturdotlewatgmaildotcom
Re: Budowanie paczek z zaleznosciami
Author: Michal
Date: Mon, 28 Mar 2011 19:11
Date: Mon, 28 Mar 2011 19:11
24 lines
2446 bytes
2446 bytes
On Fri, 25 Mar 2011 21:46:42 +0000 (UTC) "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> wrote: > On 2011-03-25, Michal <natural-born-killer@do.not.mail.me.or.i.will.kill.you> wrote: > > Pisales, ze zaleznosci sa daciagane lub w razie potrzeby kompilowane na > > docelowym systemie. To jest nie dokladnie to co mi sie podoba. Plik > > ma byc jak jar czyli poprostu go uruchamiam bez polaczen z internetem itp. > > Czy plik egg umozliwia zrobienie cos co nazywa sie "self contained jar". > > Czyli jar z wszystkimi zaleznosciami *w srodku*, a nie z informacjami jakie > > sa to zaleznosci? > > Ale ty chcesz wpieprzyć w Pythona wszystkie jak leci problemy z JAR-ami > wynikające z kretyńskiego zwyczaju włączania bibliotek, nieważne czy już > zainstalowanych czy nie. Odpieprz się od tego pomysłu. To zostało dawno, > dawno temu załatwione przez systemy pakietów (APT, Yum) i zduplikowane > przez mechanizm pythonowych jajek. Widze, ze nie wiele rzeczy uruchamiales w srodowisku korporacyjnym. Chyba nie zdajesz sobie rowniez sprawy z problemow plynacych wraz z systemem pakietow. Widze tez, ze zyjesz w jakims wyidealizowanym swiecie jedynych slusznych rozwiazan. Niestety jedyne czego nie widze to to co wniosl twoj mail do tematu. -- Michal
Re: Budowanie paczek z zaleznosciami
Author: Stachu 'Dozzie' K.
Date: Mon, 28 Mar 2011 21:34
Date: Mon, 28 Mar 2011 21:34
34 lines
3036 bytes
3036 bytes
On 2011-03-28, Michal <natural-born-killer@do.not.mail.me.or.i.will.kill.you> wrote: > On Fri, 25 Mar 2011 21:46:42 +0000 (UTC) > "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> wrote: > >> On 2011-03-25, Michal <natural-born-killer@do.not.mail.me.or.i.will.kill.you> wrote: >> > Pisales, ze zaleznosci sa daciagane lub w razie potrzeby kompilowane na >> > docelowym systemie. To jest nie dokladnie to co mi sie podoba. Plik >> > ma byc jak jar czyli poprostu go uruchamiam bez polaczen z internetem itp. >> > Czy plik egg umozliwia zrobienie cos co nazywa sie "self contained jar". >> > Czyli jar z wszystkimi zaleznosciami *w srodku*, a nie z informacjami jakie >> > sa to zaleznosci? >> >> Ale ty chcesz wpieprzyć w Pythona wszystkie jak leci problemy z JAR-ami >> wynikające z kretyńskiego zwyczaju włączania bibliotek, nieważne czy już >> zainstalowanych czy nie. Odpieprz się od tego pomysłu. To zostało dawno, >> dawno temu załatwione przez systemy pakietów (APT, Yum) i zduplikowane >> przez mechanizm pythonowych jajek. > > Widze, ze nie wiele rzeczy uruchamiales w srodowisku korporacyjnym. Widzę że nie miałeś nic wspólnego z administracją systemami. > Chyba nie > zdajesz sobie rowniez sprawy z problemow plynacych wraz z systemem pakietow. No jakich? Wymień trzy. > Widze > tez, ze zyjesz w jakims wyidealizowanym swiecie jedynych slusznych rozwiazan. > Niestety jedyne czego nie widze to to co wniosl twoj mail do tematu. -- Secunia non olet. Stanislaw Klekot
Re: Budowanie paczek z zaleznosciami
Author: Michal
Date: Wed, 30 Mar 2011 21:43
Date: Wed, 30 Mar 2011 21:43
24 lines
2164 bytes
2164 bytes
On Mon, 28 Mar 2011 21:34:01 +0000 (UTC) "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> wrote: > > > > Widze, ze nie wiele rzeczy uruchamiales w srodowisku korporacyjnym. > > Widzę że nie miałeś nic wspólnego z administracją systemami. Popytaj troszke kolegow jak to jest w pracy, dlaczego nie daje sie wszystkim hasla roota, co to jest polityka IT, kto administruje i kto programuje, w ilu roznych wersjach moze wystepowac jeden pakiet i czemu moga byc one nie zgodne lub wrecz wchodzic w konflikty. Pomys tez troche nad tym po co tracic czas na budowanie paczki skoro program wykonuje sie tylko raz, a pozniej go kasuje, itp. > > Chyba nie > > zdajesz sobie rowniez sprawy z problemow plynacych wraz z systemem pakietow. > > No jakich? Wymień trzy. poszukaj w google troche w okolicach dependency hell i pouzywaj troche managerow pakietow. -- Michal
Re: Budowanie paczek z zaleznosciami
Author: Stachu 'Dozzie' K.
Date: Thu, 31 Mar 2011 09:16
Date: Thu, 31 Mar 2011 09:16
70 lines
4754 bytes
4754 bytes
On 2011-03-30, Michal <natural-born-killer@do.not.mail.me.or.i.will.kill.you> wrote:
> On Mon, 28 Mar 2011 21:34:01 +0000 (UTC)
> "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> wrote:
>
>> >
>> > Widze, ze nie wiele rzeczy uruchamiales w srodowisku korporacyjnym.
>>
>> Widzę że nie miałeś nic wspólnego z administracją systemami.
>
> Popytaj troszke kolegow jak to jest w pracy, dlaczego nie daje sie wszystkim hasla roota,
> co to jest polityka IT,
Co to ma do sposobu przygotowywania paczki (JAR, egg, gem) do
dystrybucji oprogramowania?
> kto administruje i kto programuje,
Nie rozumiem co by mieli twoim zdaniem powiedzieć. Ja jestem
administratorem, a również programuję (i to całkiem sporo; na użytek
mojego zespołu). W dziale R&D mamy programistów, którzy administrują
środowiskami do pisania i budowania softu dla swoich zespołów.
> w ilu roznych wersjach moze
> wystepowac jeden pakiet i czemu moga byc one nie zgodne lub wrecz wchodzic w konflikty.
Z reguły w jednej, chyba że się specjalnie postarasz (myślę o DEB
i RPM). Zgodność/niezgodność wersji załatwiają opisy zależności.
> Pomys tez troche nad tym po co tracic czas na budowanie paczki skoro program wykonuje
> sie tylko raz, a pozniej go kasuje, itp.
To akurat zdarza się raczej rzadko dla większego softu (czyt. takiego,
który wymaga sporej ilości zewnętrznych paczek).
>> > Chyba nie
>> > zdajesz sobie rowniez sprawy z problemow plynacych wraz z systemem pakietow.
>>
>> No jakich? Wymień trzy.
>
> poszukaj w google troche w okolicach dependency hell i pouzywaj troche managerow pakietow.
No używam managerów pakietów (APT, Yum), i to dość intensywnie. I jakoś
nie rozumiem o czym mówisz.
A co do dependency hell, to mówisz o tym starym, dekadę temu rozwiązanym
problemie występującym w dystrybucjach z managerami pakietów, które nie
ściągały automatycznie zależności?
Ty za to sobie poczytaj o JAR hell. Na Wikipedii jest akurat ładnie to
opisane. Ze swojej strony dodam następujące problemy z takim podejściem
do dystrybucji (znaczy: wszystkie zależności w jednej wielkiej paczce):
* nie możesz sprawdzić jakie zewnętrzne (third party) biblioteki są
w użyciu
* nie wiesz w jakich są wersjach (może biblioteka ma dziurę
bezpieczeństwa?)
* nie wiesz jakie mają licencje (może producent softu sobie wziął
nielegalnie cudzą bibliotekę? a bekniesz za to ty, klient)
* nie możesz zaktualizować biblioteki, gdyby zaszła taka potrzeba --
bo wszystko jest wprasowane w jedną paczkę
* okazuje się że masz fafnaście wersji tej samej biblioteki, albo co
gorsza, fafnaście instancji tej samej wersji tej biblioteki
Czyli dokładnie to, czym się różni linkowanie statyczne od dynamicznego.
Jak sądzisz, dlaczego prawie wszyscy się przestawili na linkowanie
dynamiczne, a statycznego się używa tylko w naprawdę dobrze
uzasadnionych przypadkach?
--
Secunia non olet.
Stanislaw Klekot
Re: Budowanie paczek z zaleznosciami
Author: Michal
Date: Thu, 31 Mar 2011 16:59
Date: Thu, 31 Mar 2011 16:59
1 lines
1385 bytes
1385 bytes
wdize, ze nic nie zrozumiales.
Re: Budowanie paczek z zaleznosciami
Author: Stachu 'Dozzie' K.
Date: Thu, 31 Mar 2011 17:25
Date: Thu, 31 Mar 2011 17:25
9 lines
1956 bytes
1956 bytes
On 2011-03-31, Michal <natural-born-killer@do.not.mail.me.or.i.will.kill.you> wrote: > wdize, ze nic nie zrozumiales. To objaśnij. Tylko cytując wypowiedź, żeby było widać do czego się odnosisz. -- Secunia non olet. Stanislaw Klekot
Re: Budowanie paczek z zaleznosciami
Author: Łukasz Rekucki
Date: Thu, 31 Mar 2011 17:38
Date: Thu, 31 Mar 2011 17:38
12 lines
2281 bytes
2281 bytes
On Mar 31, 7:25 pm, "Stachu 'Dozzie' K." <doz...@go.eat.some.screws.spammer.invalid> wrote: > On 2011-03-31, Michal <natural-born-kil...@do.not.mail.me.or.i.will.kill.you> wrote: > > > wdize, ze nic nie zrozumiales. > > To objaśnij. Tylko cytując wypowiedź, żeby było widać do czego się > odnosisz. > A możecie wysyłać maile takie do siebie, a nie na grupę? Bo merytorycznej dyskusji tu nie ma żadnej.
Re: Budowanie paczek z zaleznosciami
Author: Stachu 'Dozzie' K.
Date: Thu, 31 Mar 2011 18:00
Date: Thu, 31 Mar 2011 18:00
19 lines
2491 bytes
2491 bytes
On 2011-03-31, Łukasz Rekucki <lrekucki@gmail.com> wrote: > On Mar 31, 7:25 pm, "Stachu 'Dozzie' K." ><doz...@go.eat.some.screws.spammer.invalid> wrote: >> On 2011-03-31, Michal <natural-born-kil...@do.not.mail.me.or.i.will.kill.you> wrote: >> >> > wdize, ze nic nie zrozumiales. >> >> To objaśnij. Tylko cytując wypowiedź, żeby było widać do czego się >> odnosisz. >> > > A możecie wysyłać maile takie do siebie, a nie na grupę? Bo > merytorycznej dyskusji tu nie ma żadnej. W ogóle w wątku czy tylko w tych dwóch postach? -- Secunia non olet. Stanislaw Klekot
Re: Budowanie paczek z zaleznosciami
Author: Adam Byrtek
Date: Thu, 31 Mar 2011 20:23
Date: Thu, 31 Mar 2011 20:23
14 lines
2028 bytes
2028 bytes
On 03/31/2011 08:00 PM, Stachu 'Dozzie' K. wrote: >> A możecie wysyłać maile takie do siebie, a nie na grupę? Bo >> merytorycznej dyskusji tu nie ma żadnej. > > W ogóle w wątku czy tylko w tych dwóch postach? Wątek ciekawy, tylko poziom dyskusji dość niski. Ad hominem nie sprzyja konstruktywnej wymianie poglądów. Swoją drogą dzisiejszy post Iana Bicklinga może was obu zainteresować http://blog.ianbicking.org/2011/03/31/python-webapp-package/ Pozdrawiam, Adam
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads