Article View: pl.comp.lang.python
Article #27775Re: .py i .pyc
From: Łukasz Rekucki
Date: Thu, 04 Nov 2010 07:59
Date: Thu, 04 Nov 2010 07:59
31 lines
3143 bytes
3143 bytes
On Nov 4, 7:40 am, "William Bonawentura" <n...@ipartners.pl> wrote: > Użytkownik "ds" <ad...@email.pl> napisał w wiadomościnews:iasdub$di1$1@news.onet.pl... > > > William Bonawentura wrote: > > >> Z tego co wiem pliki .pyc są przenośne - tak jak i .class w Javie. > >> Problemem może być tylko różnica wersji Pythona, ale chyba tworząc > >> aplikację w 2.6 masz i na serwerze 2.6. > > > Sprawdziłem, są przenośne. A jest coś takiego jak reverse engineering dla > > .pyc? Bo to też ciekawe zagadnienie - oczywiście jeśli licencja pythona > > zezwala na nieudostępnianie źródeł... > > Licencja Pythona jest niezaraźliwa. Ideą "pyc" (i pyo) jest właśnie > udostępnianie wersji instalacyjnej bez źródeł. Jest to tylko kompilacja do > bytekodu (zastąpienie słów kluczowych chunkami) więc dekompilacja w pełni > zdradza algorytm oraz nazwy. Nie to nie jest idea .pyc! Te pliki nie mają być przenośne - są specyficzne dla wersji Pythona czy architektury systemu (np. 64bit vs 32bit), a porównywanie ich z .class to duże nadużycie. Jedynym celem tych plików jest przyśpieszenie wczytywania się programów, tak żeby nie trzeba było parsować wielkich bibliotek za każdym razem. PEP 3147 nie służy upiększeniu sposoby ich przetrzymywania, lecz rozwiązuję realny problem trzymania plików .pyc dla różnych wersji Pythona z jedną kopią źródeł - Ubuntu aktualnie robi X symlinków, aby to osiągnąć. Wrzucanie aplikacji na serwer w postaci samych .pyc to zbędna komplikacja. Wielkość kodu to naprawdę ostatnia rzecz, która powinna cię martwić w aplikacji.
Technical Details
Message-ID:
<accdb2c5-2ac0-45d3-9372-63f6e95b88c5@d8g2000yqf.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsfeed1.plix.pl!news-out2.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!198.186.194.249.MISMATCH!news-out.readnews.com!transit3.readnews.com!postnews.google.com!d8g2000yqf.googlegroups.com!not-for-mailReferences:
<iac9k3$hrn$1@news.onet.pl> <4cca18a5$0$22797$65785112@news.neostrada.pl> <iadprv$dbb$1@news.onet.pl> <iaouan$2d3s$1@news2.ipartners.pl> <iar2d2$iiu$1@news.onet.pl> <iari6m$kti$1@news2.ipartners.pl> <iasdub$di1$1@news.onet.pl> <iatkgl$1le4$1@news2.ipartners.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsfeed1.plix.pl!news-out2.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!198.186.194.249.MISMATCH!news-out.readnews.com!transit3.readnews.com!postnews.google.com!d8g2000yqf.googlegroups.com!not-for-mail From: Łukasz Rekucki <lrekucki@gmail.com> Newsgroups: pl.comp.lang.python Subject: Re: .py i .pyc Date: Thu, 4 Nov 2010 00:59:30 -0700 (PDT) Organization: http://groups.google.com Lines: 41 Message-ID: <accdb2c5-2ac0-45d3-9372-63f6e95b88c5@d8g2000yqf.googlegroups.com> References: <iac9k3$hrn$1@news.onet.pl> <4cca18a5$0$22797$65785112@news.neostrada.pl> <iadprv$dbb$1@news.onet.pl> <iaouan$2d3s$1@news2.ipartners.pl> <iar2d2$iiu$1@news.onet.pl> <iari6m$kti$1@news2.ipartners.pl> <iasdub$di1$1@news.onet.pl> <iatkgl$1le4$1@news2.ipartners.pl> NNTP-Posting-Host: 178.73.49.85 Mime-Version: 1.0 X-Trace: posting.google.com 1288857571 29440 127.0.0.1 (4 Nov 2010 07:59:31 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 4 Nov 2010 07:59:31 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: d8g2000yqf.googlegroups.com; posting-host=178.73.49.85; posting-account=5fpXZwoAAADF-CUdCuJ-FpYxG8__-wRx User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.18 Safari/534.10,gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit