🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
17 messages
17 total messages Started by Michal Fri, 18 Mar 2011 21:05
Budowanie paczek z zaleznosciami
#27929
Author: Michal
Date: Fri, 18 Mar 2011 21:05
8 lines
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
#27930
Author: Artur Lew
Date: Fri, 18 Mar 2011 22:14
18 lines
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
#27931
Author: Michal
Date: Tue, 22 Mar 2011 20:38
22 lines
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
#27932
Author: Michal
Date: Tue, 22 Mar 2011 20:59
31 lines
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
#27933
Author: Artur Lew
Date: Tue, 22 Mar 2011 21:06
38 lines
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
#27934
Author: Michal
Date: Fri, 25 Mar 2011 21:35
9 lines
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
#27935
Author: Stachu 'Dozzie' K.
Date: Fri, 25 Mar 2011 21:46
17 lines
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
#27945
Author: Artur Lew
Date: Fri, 25 Mar 2011 21:52
22 lines
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
#27936
Author: Michal
Date: Mon, 28 Mar 2011 19:11
24 lines
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
#27937
Author: Stachu 'Dozzie' K.
Date: Mon, 28 Mar 2011 21:34
34 lines
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
#27938
Author: Michal
Date: Wed, 30 Mar 2011 21:43
24 lines
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
#27939
Author: Stachu 'Dozzie' K.
Date: Thu, 31 Mar 2011 09:16
70 lines
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
#27940
Author: Michal
Date: Thu, 31 Mar 2011 16:59
1 lines
1385 bytes
wdize, ze nic nie zrozumiales.
Re: Budowanie paczek z zaleznosciami
#27941
Author: Stachu 'Dozzie' K.
Date: Thu, 31 Mar 2011 17:25
9 lines
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
#27942
Author: Łukasz Rekucki
Date: Thu, 31 Mar 2011 17:38
12 lines
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
#27943
Author: Stachu 'Dozzie' K.
Date: Thu, 31 Mar 2011 18:00
19 lines
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
#27944
Author: Adam Byrtek
Date: Thu, 31 Mar 2011 20:23
14 lines
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