Archivos *.pyc
Hernan Martinez Foffani
hernan en orgmf.com.ar
Mar Dic 21 10:41:33 CET 2004
Mejor con un ejemplo.
Suponiendo que tienes 3 archivos python, f.py, g.py e i.py donde:
--- f.py ---
def f():
return "f"
--- g.py ---
def g():
return "g"
--- i.py ---
import f
import g
print f.f()
print g.g()
------
Podrias evitar distribuir los fuentes empaquentando solo los .pyc
generando un archivo z.zip (con winzip o pkzip o lo que quieras)
con f.pyc y g.pyc
Luego modificas i.py asi:
import sys
sys.path.insert(0, "z.zip")
# el resto sigue igual
import f
import g
print f.f()
print g.g()
Asi, solo tendrias que distribuir el archivo python principal (el
i.py) y el comprimido (z.zip en nuestro ejemplo.)
-H.
(mando copia a la lista por si alguien mas le interesa o quiera
comentar)
> Gracias Hernan, me podrias explicar, haber si te
> entendi, creo una carpeta con los *.pyc, lo que no
> entiendo es lo del sys.path; como lo hago, el programa
> principal o el main sigue siendo el *.py que importara
> los modulos pyc, es asi o no? ... si me puedes
> explicar te lo agradecere mucho.
>
> Fernando
> --- Hernan Martinez Foffani <hernan en orgmf.com.ar>
> wrote:
>
>>> Hola mi pregunta es la siguiente, haber estoy
>>> desarrollando una aplicacion con wxPython, para ello
>>> uso wxGlade, hasta el minuto todo bien, finalmente
>>> esta aplicacion debo instalarla en estaciones con
>>> windows, pero no me gustaria instalar los paquetes
>>> fuentes para que algun inescrupuloso me robe el
>>> codigo. Que puedo hacer, he visto que al probar mis
>>> modulos se generan los respectivos modulos con
>>> extension *.pyc, los que por lo que he leido contienen
>>> una version compilada del fuente *.py. Es posible
>>> instalar solo los archivos *.pyc o debo seguir otro
>>> camino. Que me recomiendan a la hora de instalar
>>> alguna version de mi codigo donde el cliente. No
>>> quiero comprometer mis fuentes.
>>
>> Podrias crear un archivo zip con los .pyc solamente e
>> insertar en sys.path la ubicacion del zip.
>> En tu programa los import funcionarian normalmente.
>>
>> -H.
>>
>>> _______________________________________________
>> Python-es mailing list
>> Python-es en aditel.org
>> http://listas.aditel.org/listinfo/python-es
>>
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Jazz up your holiday email with celebrity designs. Learn more.
> http://celebrity.mail.yahoo.com
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es