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