🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
13 messages
13 total messages Started by ds Thu, 28 Oct 2010 16:50
.py i .pyc
#27764
Author: ds
Date: Thu, 28 Oct 2010 16:50
12 lines
1040 bytes
Czy jest jakiś sposób na oddzielenie plików .pyc z katalogów projektu?

Chodzi o to aby pliki .pyc tworzyły się poza drzewem aplikacji, ewentualnie 
w jakimś podkatalogu.

Wcześniej mi to nie przeszkadzało ale teraz przy dużym projekcie (portal) w 
django zaczyna mi to przeszkadzać (subiektywnie - mam wrażenie bałaganu).


-- 
Pozdrawiam
ds
Re: .py i .pyc
#27765
Author: marrgol
Date: Fri, 29 Oct 2010 00:43
11 lines
1240 bytes
On 2010-10-28 18:50, ds wrote:
> Czy jest jakiś sposób na oddzielenie plików .pyc z katalogów projektu?
> 
> Chodzi o to aby pliki .pyc tworzyły się poza drzewem aplikacji, ewentualnie 
> w jakimś podkatalogu.

Ma być w 3.2: http://www.python.org/dev/peps/pep-3147


-- 
mrg
Re: .py i .pyc
#27766
Author: ds
Date: Fri, 29 Oct 2010 06:31
15 lines
1128 bytes
marrgol wrote:

> 
> Ma być w 3.2: http://www.python.org/dev/peps/pep-3147
> 

Dobrze że będzie. Czyli muszę się przyzwyczaić na razie :)

Generalnie to się robi ciekawy problem - bo co się wydarzy gdy admin nie 
dopilnuje a użytkownik wepchnie np zdjęcie i quota na serwerze nie pozwoli 
na utworzenie pliku .pyc?

-- 
Pozdrawiam
ds
Re: .py i .pyc
#27767
Author: Stachu 'Dozzie' K.
Date: Fri, 29 Oct 2010 07:34
20 lines
1783 bytes
On 2010-10-29, ds <adres@email.pl> wrote:
> marrgol wrote:
>
>> 
>> Ma być w 3.2: http://www.python.org/dev/peps/pep-3147
>> 
>
> Dobrze że będzie. Czyli muszę się przyzwyczaić na razie :)
>
> Generalnie to się robi ciekawy problem - bo co się wydarzy gdy admin nie 
> dopilnuje a użytkownik wepchnie np zdjęcie i quota na serwerze nie pozwoli 
> na utworzenie pliku .pyc?

Wtedy python będzie kompilować skrypt przy każdym uruchomieniu.
A myślisz że jak to niby działa gdy nie masz prawa zapisu do katalogu,
w którym są moduły, jak to ma miejsce właściwie zawsze?

-- 
Secunia non olet.
Stanislaw Klekot
Re: .py i .pyc
#27768
Author: ds
Date: Fri, 29 Oct 2010 07:49
15 lines
1282 bytes
Stachu 'Dozzie' K. wrote:

>> Generalnie to się robi ciekawy problem - bo co się wydarzy gdy admin nie
>> dopilnuje a użytkownik wepchnie np zdjęcie i quota na serwerze nie
>> pozwoli na utworzenie pliku .pyc?
> 
> Wtedy python będzie kompilować skrypt przy każdym uruchomieniu.
> A myślisz że jak to niby działa gdy nie masz prawa zapisu do katalogu,
> w którym są moduły, jak to ma miejsce właściwie zawsze?

Fakt.

-- 
Pozdrawiam
ds
Re: .py i .pyc
#27776
Author: Bart Ogryczak
Date: Sat, 30 Oct 2010 12:54
12 lines
1678 bytes
On Oct 28, 6:50 pm, ds <ad...@email.pl> wrote:
> Czy jest jakiś sposób na oddzielenie plików .pyc z katalogów projektu?
>
> Chodzi o to aby pliki .pyc tworzyły się poza drzewem aplikacji, ewentualnie
> w jakimś podkatalogu.
>
> Wcześniej mi to nie przeszkadzało ale teraz przy dużym projekcie (portal) w
> django zaczyna mi to przeszkadzać (subiektywnie - mam wrażenie bałaganu).

Jeśli chodzi o wrażenie bałaganu, to przecież np. w PyDev .pyc po
prostu nie widać.
A jeśli chcesz mieć "prawdziwy porządek" na serwerze, to twórz .egg.
Re: .py i .pyc
#27769
Author: William Bonawentura
Date: Tue, 02 Nov 2010 11:57
20 lines
1580 bytes

Użytkownik "ds" <adres@email.pl> napisał w wiadomości 
news:iadprv$dbb$1@news.onet.pl...
> marrgol wrote:
>
>>
>> Ma być w 3.2: http://www.python.org/dev/peps/pep-3147
>>
>
> Dobrze że będzie. Czyli muszę się przyzwyczaić na razie :)
>
> Generalnie to się robi ciekawy problem - bo co się wydarzy gdy admin nie
> dopilnuje a użytkownik wepchnie np zdjęcie i quota na serwerze nie pozwoli
> na utworzenie pliku .pyc?
>

IMHO powinieneś:

1) Założyć w swoim projekcie źródłówym filtr na pliki .pyc w svn
2) Wersję instalacyjną (na serwer) robić z samych plików .pyc bez .py 
Re: .py i .pyc
#27770
Author: ds
Date: Wed, 03 Nov 2010 07:15
14 lines
1181 bytes
William Bonawentura wrote:

> IMHO powinieneś:
> 
> 1) Założyć w swoim projekcie źródłówym filtr na pliki .pyc w svn
> 2) Wersję instalacyjną (na serwer) robić z samych plików .pyc bez .py

1. Tak robię (używam gita, nie dokładam .pyc do repo)
2. Mógłbyś rozwinąć? Mam serwer na itl, nie pogubi się bez plików 
źródłowych?

-- 
Pozdrawiam
ds
Re: .py i .pyc
#27771
Author: William Bonawentura
Date: Wed, 03 Nov 2010 11:48
18 lines
1681 bytes

Użytkownik "ds" <adres@email.pl> napisał w wiadomości 
news:iar2d2$iiu$1@news.onet.pl...
> William Bonawentura wrote:
>
>> IMHO powinieneś:
>>
>> 1) Założyć w swoim projekcie źródłówym filtr na pliki .pyc w svn
>> 2) Wersję instalacyjną (na serwer) robić z samych plików .pyc bez .py
>
> 1. Tak robię (używam gita, nie dokładam .pyc do repo)
> 2. Mógłbyś rozwinąć? Mam serwer na itl, nie pogubi się bez plików
> źródłowych?
>

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.
Re: .py i .pyc
#27772
Author: ds
Date: Wed, 03 Nov 2010 19:42
13 lines
1332 bytes
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ł...

-- 
Pozdrawiam
ds
Re: .py i .pyc
#27774
Author: William Bonawentura
Date: Thu, 04 Nov 2010 06:40
18 lines
1888 bytes

Użytkownik "ds" <adres@email.pl> napisał w wiadomości 
news: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. 
Re: .py i .pyc
#27775
Author: Łukasz Rekucki
Date: Thu, 04 Nov 2010 07:59
31 lines
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.
Re: .py i .pyc
#27773
Author: Bart Ogryczak
Date: Thu, 04 Nov 2010 09:46
15 lines
2046 bytes
On Nov 3, 8:42 pm, ds <ad...@email.pl> wrote:
> 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?

Da się, .pyc zachowuje nawet nazwy zmiennych i komentarze.

>Bo to też ciekawe zagadnienie - oczywiście jeśli licencja pythona
> zezwala na nieudostępnianie źródeł...

Python jest Open Source, a nie GNU.
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