Distribuce pro vývoj aplikací (C, Python)

kei.101

Re: Distribuce pro vývoj aplikací (C, Python)
« Odpověď #15 kdy: 25. 02. 2011, 13:33:34 »
Jojo, už jsem viděl návod. Jenomže já na notebooku s 8GB diskem rád píšu "pacman -Sc" :)

Hele existuje "Arch Rollback Machine", coz je server s obrovskym diskovym polem ze kteryho si muzes stahnout verzi libovolnyho balicku z libovolnyho data nekolik let zpatky, samozrejme nemusis vsechny balicky ukladat u sebe.

Jinak ta nekompatibilita spocivala v prepnutim z pythonu 2 na python 3. Ja osobne bych ti radil vyvijet v pythonu 3, pokud chces starsi verzi, tak to musis ve skriptu nahore (v hashbangu) napsat.

Já právě dělám na projektu, kde potřebuju pyserial package a když jsem začínal, tak ten ještě nebyl pro python3, alespoň ne na archu, ani v AUR. A navíc si nejsem jistý, jestli psát pro python v3 je už dostatečně přenositelné.


kei.101

Re: Distribuce pro vývoj aplikací (C, Python)
« Odpověď #16 kdy: 25. 02. 2011, 13:35:54 »
Jojo, už jsem viděl návod. Jenomže já na notebooku s 8GB diskem rád píšu "pacman -Sc" :)

Hele existuje "Arch Rollback Machine", coz je server s obrovskym diskovym polem ze kteryho si muzes stahnout verzi libovolnyho balicku z libovolnyho data nekolik let zpatky, samozrejme nemusis vsechny balicky ukladat u sebe.

Jinak ta nekompatibilita spocivala v prepnutim z pythonu 2 na python 3. Ja osobne bych ti radil vyvijet v pythonu 3, pokud chces starsi verzi, tak to musis ve skriptu nahore (v hashbangu) napsat.

Bohužel ne všechny package, které potřebuji byli v době, kdy jsem začínal na aktuálním projektu, už dostupné pro python3 a navíc si nejsem moc jistý, zda by byl skript pro python3 v dnešní době už dostatečně přenositelný.

kei.101

Re: Distribuce pro vývoj aplikací (C, Python)
« Odpověď #17 kdy: 25. 02. 2011, 13:55:11 »
Tak ve windows to ani nemá stejný typ.. sys.stdin je nějaké RPCProxy. ale v linuxu to má stejný typ a přesto se to chová jinak..

Re: Distribuce pro vývoj aplikací (C, Python)
« Odpověď #18 kdy: 25. 02. 2011, 14:42:12 »
Tak jsem to vyzkousel ve svem Archu a opravdu se to chova rozdilne. V python3 to nacita zadane radky a vypisuje je na stdout hned po zadani LF, kdezto v python2 to ceka az vstup ukoncim EOF (ctrl-d) a az potom ho zacne zpracovavat. Vyzkousel jsem to taky pod win7 x64 a tam se to chova naprosto stejne, takze to vypada rozdilnou implementaci v python2 vs python3. Nehazel bych tedy vinu na Arch a na rolling release model.
« Poslední změna: 25. 02. 2011, 14:59:45 od Radim Zátopek »

kei.101

Re: Distribuce pro vývoj aplikací (C, Python)
« Odpověď #19 kdy: 25. 02. 2011, 18:44:59 »
Tak jsem to vyzkousel ve svem Archu a opravdu se to chova rozdilne. V python3 to nacita zadane radky a vypisuje je na stdout hned po zadani LF, kdezto v python2 to ceka az vstup ukoncim EOF (ctrl-d) a az potom ho zacne zpracovavat. Vyzkousel jsem to taky pod win7 x64 a tam se to chova naprosto stejne, takze to vypada rozdilnou implementaci v python2 vs python3. Nehazel bych tedy vinu na Arch a na rolling release model.

Vždyť taky jo :) Neřekl jste mi nic nového (kromě pokusu ve win7). Já to už zkoušel v linuxu, BSD a windows XP :) doporučuji číst celou diskuzi :)


Re: Distribuce pro vývoj aplikací (C, Python)
« Odpověď #20 kdy: 26. 02. 2011, 09:29:15 »
Vždyť taky jo :) Neřekl jste mi nic nového (kromě pokusu ve win7). Já to už zkoušel v linuxu, BSD a windows XP :) doporučuji číst celou diskuzi :)

Aha, to jsem přehlídl :) Pak je váš problém vyřešen, protože jsme dokázali že to "nepředvídatelné chování" je způsobeno odlišnou implementací Pythonu 2 a 3, tudíž změna distribuce nepomůže :)

Ovšem nedalo mi to, tak jsem trošku hledal a zkoušel a v Pythonu 2 se ten váš příklad dá přepsat a pak se to chová stejně jako v P3
Kód: [Vybrat]
import sys

for line in iter(sys.stdin.readline,''):
    print line,

kei.101

Re: Distribuce pro vývoj aplikací (C, Python)
« Odpověď #21 kdy: 26. 02. 2011, 10:20:57 »
Vždyť taky jo :) Neřekl jste mi nic nového (kromě pokusu ve win7). Já to už zkoušel v linuxu, BSD a windows XP :) doporučuji číst celou diskuzi :)

Aha, to jsem přehlídl :) Pak je váš problém vyřešen, protože jsme dokázali že to "nepředvídatelné chování" je způsobeno odlišnou implementací Pythonu 2 a 3, tudíž změna distribuce nepomůže :)

Ovšem nedalo mi to, tak jsem trošku hledal a zkoušel a v Pythonu 2 se ten váš příklad dá přepsat a pak se to chová stejně jako v P3
Kód: [Vybrat]
import sys

for line in iter(sys.stdin.readline,''):
    print line,

Výborně, děkuji. Sice nemám rád berličky, ale tohle je celkem hezké :)