Connecting Tech Pros Worldwide Forums | Help | Site Map

"python exe" and "py plugins"

marco
Guest
 
Posts: n/a
#1: Jul 18 '05
Hi,
first of all ; sorry for my poor english ; i'm french ...
and i hope you can understand below

I use python (and wxpython) on a win32 platform, to build a simple "home
theater pc".
I want to release it in a package (with all needed to run)
so i use (the wonderful) py2exe to build it ... it works like a charm ...
nothing to say

but, i'd like to make my program "plugin'able" ...
so i ask myself (and you too ;-), if i could do that :
- release all "core program" in an exe (with py2exe)
- release the plugins in ".py" files ... and distribute them in a subfolder
of my core program.

and i like to call these "py files" from my core program ... (with
execfile() ?)
can the exe call theses, without an "installed python runtime" ? (i hope ;-)

i hope you understand my need ... and could answer at my question (wish)

marc



marco
Guest
 
Posts: n/a
#2: Jul 18 '05

re: "python exe" and "py plugins"


i answer my self ...

it WORKS !!!!!!!!!!!!!!!!!!!

here are a py which i "compiled" into an exe (with py2exe)
================================================== ===
from wxPython.wx import *

class Menu(wxFrame):
def __init__(self, prnt):
wxFrame.__init__(self,prnt, id=-1,title="jo")
b=wxButton(self,-1,"coucou")
EVT_BUTTON(b,-1, self.run)

def run(self,e):
execfile("m.py")

if __name__ == '__main__':
app = wxPySimpleApp()
wxInitAllImageHandlers()
f=Menu(None)
f.Show()
app.MainLoop()
================================================== ===

here is an simple py script which is called by the exe (see up)
================================================== ===
def msgBox(msg):
dlg = wxMessageDialog(None, msg, "hell", wxOK | wxICON_INFORMATION)
dlg.ShowModal()
dlg.Destroy()

if __name__ == '__main__':
aapp = wxPySimpleApp()
wxInitAllImageHandlers()
msgBox("coco")
================================================== ===

and it works WITHOUT THE PYTHON RUNTIME INSTALLED ...
sure that this script can't import lib which are not in the exe ;-)

python is a very very great system !!!! i love it a lot !

"marco" <marc.lentz@ctrceal.caisse-epargne.fr> a écrit dans le message de
news: bpciuh$nhu$1@s1.read.news.oleane.net...[color=blue]
> Hi,
> first of all ; sorry for my poor english ; i'm french ...
> and i hope you can understand below
>
> I use python (and wxpython) on a win32 platform, to build a simple "home
> theater pc".
> I want to release it in a package (with all needed to run)
> so i use (the wonderful) py2exe to build it ... it works like a charm ...
> nothing to say
>
> but, i'd like to make my program "plugin'able" ...
> so i ask myself (and you too ;-), if i could do that :
> - release all "core program" in an exe (with py2exe)
> - release the plugins in ".py" files ... and distribute them in a[/color]
subfolder[color=blue]
> of my core program.
>
> and i like to call these "py files" from my core program ... (with
> execfile() ?)
> can the exe call theses, without an "installed python runtime" ? (i hope[/color]
;-)[color=blue]
>
> i hope you understand my need ... and could answer at my question (wish)
>
> marc
>
>[/color]


Miki Tebeka
Guest
 
Posts: n/a
#3: Jul 18 '05

re: "python exe" and "py plugins"


Hello Marco,
[color=blue]
> first of all ; sorry for my poor english ; i'm french ...[/color]
Hope my Israeli English will be good enough :-)
[color=blue]
> but, i'd like to make my program "plugin'able" ...
> so i ask myself (and you too ;-), if i could do that :
> - release all "core program" in an exe (with py2exe)
> - release the plugins in ".py" files ... and distribute them in a subfolder
> of my core program.
>
> and i like to call these "py files" from my core program ... (with
> execfile() ?)
> can the exe call theses, without an "installed python runtime" ? (i hope ;-)[/color]
I don't think there is a problem unless the plugin module uses some
libraries that py2exe didn't pack. In this case you need to provide
them as well. You can use distutils or py2exe --dry-run to determine
which packages are required by the plugin.

Also be aware of security hazard. If some plugin has
"sutil.rmtree("c:\\")" somewhere in it you're in big trouble. The
restricted execution modules in python are currently obsolete.

HTH.
Miki
Closed Thread