Sorry it took me awhile for an update Daniel. I just downloaded a new copy, and I believe I fixed the mechanize issue, now I'm running back into publisher issues.
To eliminate a few of the other libraries I used I did a quick google on a simple wx pubsub demonstration. I came up with this site: http://www.blog.pythonlibrary.org/2010/06/27/wxpython-and-pubsub-a-simple-tutorial/ I have tested his code, it behaves exactly the same way as mine. If you have wx installed and figure something out please let me know. :) Below is a table of import to errors encountered trying to run the onefile exe from both the test and from my script. I hope somehow it can help. from wx.lib.pubsub import Publisher C:\Documents and Settings\Tom>"C:\Documents and -pyinstaller-1045a28\dist\startme.exe" Traceback (most recent call last): File "<string>", line 7, in <module> ImportError: cannot import name Publisher from wx.lib.pubsub import setupv1 from wx.lib.pubsub import Publisher C:\Documents and Settings\Tom>"C:\Documents and Settings\Tom\Desktop\pyinstaller -pyinstaller-1045a28\dist\startme.exe" Traceback (most recent call last): File "<string>", line 6, in <module> File "C:\Documents and Settings\Tom\Desktop\pyinstaller-pyinstaller-1045a28\Py Installer\loader\iu.py", line 431, in importHook mod = self.doimport(nm, ctx, ctx + '.' + nm) File "C:\Documents and Settings\Tom\Desktop\pyinstaller-pyinstaller-1045a28\Py Installer\loader\iu.py", line 480, in doimport exec co in mod.__dict__ File "C:\Documents and Settings\Tom\Desktop\pyinstaller-pyinstaller-1045a28\bu ild\pyi.win32\startme\out00-PYZ.pyz\wx.lib.pubsub.setupv1", line 16, in <module> File "C:\Documents and Settings\Tom\Desktop\pyinstaller-pyinstaller-1045a28\bu ild\pyi.win32\startme\out00-PYZ.pyz\wx.lib.pubsub.pubsubconf", line 16, in setVe rsion File "C:\Documents and Settings\Tom\Desktop\pyinstaller-pyinstaller-1045a28\bu ild\pyi.win32\startme\out00-PYZ.pyz\wx.lib.pubsub.pubsubconf", line 51, in setVe rsion AssertionError A this point I adapted my code from V1 code to V3 code by changing Publisher().* to Publisher.* from wx.lib.pubsub import setuparg1 from wx.lib.pubsub import pub as Publisher ----OR----- from wx.lib.pubsub import setupkwargs from wx.lib.pubsub import pub as Publisher C:\Documents and Settings\Tom>"C:\Documents and Settings\Tom\Desktop\pyinstaller -pyinstaller-1045a28\dist\startme.exe" Traceback (most recent call last): File "<string>", line 7, in <module> File "C:\Documents and Settings\Tom\Desktop\pyinstaller-pyinstaller-1045a28\Py Installer\loader\iu.py", line 431, in importHook mod = self.doimport(nm, ctx, ctx + '.' + nm) File "C:\Documents and Settings\Tom\Desktop\pyinstaller-pyinstaller-1045a28\Py Installer\loader\iu.py", line 480, in doimport exec co in mod.__dict__ File "C:\Documents and Settings\Tom\Desktop\pyinstaller-pyinstaller-1045a28\bu ild\pyi.win32\startme\out00-PYZ.pyz\wx.lib.pubsub.pub", line 24, in <module> File "C:\Documents and Settings\Tom\Desktop\pyinstaller-pyinstaller-1045a28\Py Installer\loader\iu.py", line 386, in importHook mod = _self_doimport(nm, ctx, fqname) File "C:\Documents and Settings\Tom\Desktop\pyinstaller-pyinstaller-1045a28\Py Installer\loader\iu.py", line 480, in doimport exec co in mod.__dict__ File "C:\Documents and Settings\Tom\Desktop\pyinstaller-pyinstaller-1045a28\bu ild\pyi.win32\startme\out00-PYZ.pyz\wx.lib.pubsub.core.listener", line 13, in <m odule> File "C:\Documents and Settings\Tom\Desktop\pyinstaller-pyinstaller-1045a28\Py Installer\loader\iu.py", line 409, in importHook raise ImportError("No module named %s" % fqname) ImportError: No module named listenerimpl Sorry again that it took so long for a reply, Tom On Fri, Jun 22, 2012 at 1:44 PM, Sebastian Hilbert < [email protected]> wrote: > On Thursday, June 21, 2012 04:36:34 PM Tom Tijerina wrote: > > What are you using instead of wx, if I may ask. > > We are still using wx but we got rid of pubsub for the moment. > > Sebastian > > > > > On Thu, Jun 21, 2012 at 4:34 PM, Sebastian Hilbert < > > > > [email protected]> wrote: > > > On Thursday, June 21, 2012 04:28:09 PM Tom Tijerina wrote: > > > > Thanks so much for your help! If you are the blind leader, you have > at > > > > least traveled the road enough times to remember the path :) > > > > > > Look at this ticket. > > > > > > http://www.pyinstaller.org/ticket/312 > > > > > > We have travelled that path as well but rewrote our code to get rid of > > > pubsub. > > > > > > Once wxpython 3.0 will be released we might look at it again. > > > > > > Sebastian Hilbert > > > GNUmed team > > > > > > > On Thu, Jun 21, 2012 at 4:02 PM, Daniel Hyams <[email protected]> > wrote: > > > > > Also, are you trying to use the arg1 protocol or the kwargs > protocol > > > > > in > > > > > your application? > > > > > > > > > > On Thu, Jun 21, 2012 at 3:58 PM, Daniel Hyams <[email protected]> > > > > > > wrote: > > > > >> This is probably the blind leading the blind here. > > > > >> > > > > >> To me, your Analysis call is a little strange. Mine looks like > this: > > > > >> a = Analysis([catpath(HOMEPATH,'support','_mountzlib.py'), > > > > >> > > > > >> catpath(HOMEPATH,'support','useUnicode.py'), > > > > >> catpath('..','..',srcdir,'src','main.py')], > > > > >> pathex=[srcpath]) > > > > >> > > > > >> where "catpath" is just a little function that I wrote to > concatenate > > > > >> multiple strings into one path. Note that I only have one of my > own > > > > > > py > > > > > > > >> files in there, and that's it. No hiddenimports, and no > hookspath; I > > > > > > put > > > > > > > >> my custom hooks just alongside pyinstallers; I'm not sure if that > > > > > > makes a > > > > > > > >> difference or not. > > > > >> > > > > >> Also, are you seeing a print statement during the build that says > > > > >> "wx.lib.pubsub: adding arg1 protocol path"? If not, then the > hooks > > > > > > that > > > > > > > >> I > > > > >> gave you are not getting called. > > > > >> > > > > >> On Thu, Jun 21, 2012 at 3:31 PM, Tom Tijerina > > > > > > <[email protected]>wrote: > > > > >>> I very much appreciate the very quick reply, I tried using what > you > > > > > > have > > > > > > > >>> and it still didn't work and gave me the same error. I'm assuming > > > > > > I've > > > > > > > >>> done > > > > >>> something wrong. > > > > >>> > > > > >>> My 'startme.spec' file is below > > > > >>> ----------------------------------------- > > > > >>> # -*- mode: python -*- > > > > >>> a = Analysis(['C:\\Documents and Settings\\Tom\\Desktop\\ToPy > > > > >>> v0.001\\startme.py', > > > > >>> 'C:\\Documents and Settings\\Tom\\Desktop\\ToPy v0.001\\irep.py', > > > > >>> 'C:\\Documents and > > > > >>> Settings\\Tom\\Desktop\\ToPy v0.001\\webpro.py'], > > > > >>> > > > > >>> pathex=['C:\\DOCUME~1\\Tom\\Desktop\\PYINST~1'], > > > > >>> hiddenimports=['wx.lib.pubsub.core', > > > > >>> > > > > >>> 'wx.lib.pubsub.setuparg1'], > > > > >>> > > > > >>> hookspath='C:\\Documents and > > > > >>> > > > > >>> > Settings\\Tom\\Desktop\\pyinstaller-pyinstaller-2145d84\\newhooks\\' > > > > >>> ) > > > > >>> pyz = PYZ(a.pure) > > > > >>> exe = EXE(pyz, > > > > >>> > > > > >>> a.scripts, > > > > >>> a.binaries, > > > > >>> a.zipfiles, > > > > >>> a.datas, > > > > >>> name=os.path.join('dist', 'startme.exe'), > > > > >>> debug=False, > > > > >>> strip=None, > > > > >>> upx=True, > > > > >>> console=True ) > > > > >>> > > > > >>> ------------------------------------------------- > > > > >>> > > > > >>> > > > > >>> and the command im running (as startme.spec is in the same > folder) > > > > >>> is > > > > >>> simply > > > > >>> ---------------------------- > > > > >>> python pyinstaller.py startme.spec > > > > >>> ----------------------------- > > > > >>> > > > > >>> Am I missing something? I've got that sneaky something simple is > > > > > > missing > > > > > > > >>> feeling. I keep trying the same few things over and over again > and > > > > > > all > > > > > > > >>> its > > > > >>> doing is making me realize first hand the definition of > insanity. I > > > > >>> don't > > > > >>> really know or understand wx or pyinstaller enough to know where > to > > > > > > even > > > > > > > >>> really start. I'm still just learning python. > > > > >>> > > > > >>> Thanks again for your help. > > > > >>> > > > > >>> On Thu, Jun 21, 2012 at 3:05 PM, Daniel Hyams <[email protected]> > > > > > > wrote: > > > > >>>> While I'm not proud of this (it's a complete hack), the > following > > > > > > seems > > > > > > > >>>> to work for me. This is with the pubsub included with wxpython > > > > > > 2.8.11 > > > > > > > >>>> and > > > > >>>> > > > > >>>> later, and you must import in your application like this: > > > > >>>> from wx.lib.pubsub import setuparg1 > > > > >>>> from wx.lib.pubsub import pub as Publisher > > > > >>>> > > > > >>>> I can only verify that this works with the arg1 protocol; it > > > > > > probably > > > > > > > >>>> will with kwargs as well, but I have not verified. > > > > >>>> > > > > >>>> Anyway, here are the two hooks: > > > > >>>> > > > > >>>> hook-wx.lib.pubsub.core.py: > > > > >>>> ------------------------- cut here ---- > > > > >>>> import os > > > > >>>> import sys > > > > >>>> > > > > >>>> def hook(mod): > > > > >>>> pth = str(mod.__path__[0]) > > > > >>>> > > > > >>>> if os.path.isdir(pth): > > > > >>>> # if the user imported setuparg1, this is detected by the > > > > >>>> > > > > >>>> hook-wx.lib.pubsub.setuparg1.py hook. That > > > > >>>> > > > > >>>> # hook sets sys.wxpubsub to "arg1", and we set the > > > > >>>> appropriate > > > > >>>> > > > > >>>> path here. > > > > >>>> > > > > >>>> protocol = getattr(sys,'wxpubsub','kwargs') > > > > >>>> print "wx.lib.pubsub: Adding %s protocol path"%protocol > > > > >>>> mod.__path__.append(os.path.normpath(os.path.join(pth, > > > > >>>> protocol))) > > > > >>>> > > > > >>>> return mod > > > > >>>> > > > > >>>> ------------------------- cut here ---- > > > > >>>> > > > > >>>> And this for hook-wx.lib.pubsub.setuparg1.py: > > > > >>>> > > > > >>>> ------------------------- cut here ---- > > > > >>>> import os > > > > >>>> import sys > > > > >>>> > > > > >>>> # if the user imports setuparg1, we just set an attribute in sys > > > > > > that > > > > > > > >>>> allows us to later find out > > > > >>>> # about this. > > > > >>>> sys.wxpubsub = "arg1" > > > > >>>> > > > > >>>> ------------------------- cut here ---- > > > > >>>> > > > > >>>> I told you it was a hack! :O Maybe the pyinstaller folks who > know > > > > > > what > > > > > > > >>>> they are doing can look at this and determine the correct > solution. > > > > >>>> > > > > >>>> On Thu, Jun 21, 2012 at 2:48 PM, Tom <[email protected]> > > > > > > wrote: > > > > >>>>> Was this ever resolved, I'm having trouble as well. My > google-fu > > > > > > has > > > > > > > >>>>> failed me the last couple days. I know its something simple I > > > > >>>>> don't > > > > >>>>> really > > > > >>>>> see anything in the last 6-8 months but I still cant get it to > > > > > > work. > > > > > > > >>>>> I'm using: > > > > >>>>> XP Pro SP3 > > > > >>>>> Python V 2.7.3 > > > > >>>>> wx.version returns '2.8.12.1 (msw-ansi)' > > > > >>>>> I have tried both stable pyinstaller and development one from > > > > >>>>> yesterday (possible version: 2145d84) > > > > >>>>> > > > > >>>>> When I switched from importing Publisher to > > > > >>>>> > > > > >>>>> I've even tried including this hook below: > > > > >>>>> import os > > > > >>>>> > > > > >>>>> def hook(mod): > > > > >>>>> pth = str(mod.__path__[0]) > > > > >>>>> > > > > >>>>> if os.path.isdir(pth): > > > > >>>>> mod.__path__.append(os.path.normpath(os.path.join(pth, > > > > >>>>> > > > > >>>>> 'kwargs'))) > > > > >>>>> > > > > >>>>> return mod > > > > >>>>> > > > > >>>>> After changing the publisher import: > > > > >>>>> from wx.lib.pubsub import setupkwargs > > > > >>>>> from wx.lib.pubsub import setuparg1 > > > > >>>>> from wx.lib.pubsub import pub as Publisher > > > > >>>>> (I have tried every combination of the first two, with both, > > > > > > without > > > > > > > >>>>> one or the other, and with only import Publisher..) > > > > >>>>> > > > > >>>>> With one or the other I seem to get: > > > > >>>>> > > > > >>>>> C:\Documents and Settings\Tom>"C:\Documents and > > > > >>>>> Settings\Tom\Desktop\PyPackagers > > > > >>>>> \pyinstaller-pyinstaller-2145d84\dist\startme.exe" > > > > >>>>> > > > > >>>>> Traceback (most recent call last): > > > > >>>>> File "<string>", line 7, in <module> > > > > >>>>> File "C:\Documents and > > > > >>>>> > > > > >>>>> Settings\Tom\Desktop\pyinstaller-pyinstaller-2145d84\Py > > > > >>>>> Installer\loader\iu.py", line 431, in importHook > > > > >>>>> > > > > >>>>> File "C:\Documents and > > > > >>>>> > > > > >>>>> Settings\Tom\Desktop\pyinstaller-pyinstaller-2145d84\Py > > > > >>>>> Installer\loader\iu.py", line 480, in doimport > > > > >>>>> > > > > >>>>> File "C:\Documents and > > > > >>>>> > > > > >>>>> Settings\Tom\Desktop\pyinstaller-pyinstaller-2145d84\bu > > > > >>>>> ild\pyi.win32\startme\out00-PYZ.pyz\wx.lib.pubsub.pub", line > 24, > > > > >>>>> in > > > > >>>>> <module> > > > > >>>>> > > > > >>>>> File "C:\Documents and > > > > >>>>> > > > > >>>>> Settings\Tom\Desktop\pyinstaller-pyinstaller-2145d84\Py > > > > >>>>> Installer\loader\iu.py", line 386, in importHook > > > > >>>>> > > > > >>>>> File "C:\Documents and > > > > >>>>> > > > > >>>>> Settings\Tom\Desktop\pyinstaller-pyinstaller-2145d84\Py > > > > >>>>> Installer\loader\iu.py", line 480, in doimport > > > > >>>>> > > > > >>>>> File "C:\Documents and > > > > >>>>> > > > > >>>>> Settings\Tom\Desktop\pyinstaller-pyinstaller-2145d84\bu > > > > >>>>> > ild\pyi.win32\startme\out00-PYZ.pyz\wx.lib.pubsub.core.listener", > > > > > > line > > > > > > > >>>>> 13, in <m > > > > >>>>> odule> > > > > >>>>> > > > > >>>>> File "C:\Documents and > > > > >>>>> > > > > >>>>> Settings\Tom\Desktop\pyinstaller-pyinstaller-2145d84\Py > > > > >>>>> Installer\loader\iu.py", line 409, in importHook > > > > >>>>> ImportError: No module named listenerimpl > > > > >>>>> > > > > >>>>> On Tuesday, February 7, 2012 7:12:55 PM UTC-5, marc wrote: > > > > >>>>>> Hi all; > > > > >>>>>> > > > > >>>>>> I can see this has been discussed before in previous emails, > but > > > > >>>>>> after > > > > >>>>>> reading them, I still cannot resolve this issue. > > > > >>>>>> I am trying to use pyinstaller to build a Windows executable - > > > > > > where > > > > > > > >>>>>> code makes use of : > > > > >>>>>> > > > > >>>>>> wx.lib.pubsub import Publisher > > > > >>>>>> > > > > >>>>>> ... allowing the model to notify the controller that a change > has > > > > >>>>>> occurred. > > > > >>>>>> > > > > >>>>>> However, when the executable is run, I get a "ImportError: > cannot > > > > >>>>>> import name Publisher" error. > > > > >>>>>> I've tried using all the different imports mentioned on > various > > > > >>>>>> threads, most work from Python, but fail to import once run > from > > > > >>>>>> a > > > > >>>>>> Windows executable built with pyinstaller > > > > >>>>>> > > > > >>>>>> Could someone please let me know - currently, what's the best > > > > >>>>>> work > > > > >>>>>> around for this issue? I'd really like to get this resolved. > > > > >>>>>> > > > > >>>>>> Many thanks for your help, > > > > >>>>>> Marc > > > > >>>>>> > > > > >>>>> -- > > > > >>>>> > > > > >>>>> You received this message because you are subscribed to the > Google > > > > >>>>> Groups "PyInstaller" group. > > > > >>>>> To view this discussion on the web visit > > > > >>>>> https://groups.google.com/d/msg/pyinstaller/-/9aFhWy6-PcoJ. > > > > >>>>> > > > > >>>>> To post to this group, send email to > [email protected]. > > > > >>>>> To unsubscribe from this group, send email to > > > > >>>>> [email protected]. > > > > >>>>> For more options, visit this group at > > > > >>>>> http://groups.google.com/group/pyinstaller?hl=en. > > > > >>>> > > > > >>>> -- > > > > >>>> Daniel Hyams > > > > >>>> [email protected] > > > > >>>> > > > > >>>> -- > > > > >>>> You received this message because you are subscribed to the > Google > > > > >>>> Groups "PyInstaller" group. > > > > >>>> To post to this group, send email to > [email protected]. > > > > >>>> To unsubscribe from this group, send email to > > > > >>>> [email protected]. > > > > >>>> For more options, visit this group at > > > > >>>> http://groups.google.com/group/pyinstaller?hl=en. > > > > >>>> > > > > >>> -- > > > > >>> > > > > >>> You received this message because you are subscribed to the > Google > > > > >>> Groups "PyInstaller" group. > > > > >>> To post to this group, send email to > [email protected]. > > > > >>> To unsubscribe from this group, send email to > > > > >>> [email protected]. > > > > >>> For more options, visit this group at > > > > >>> http://groups.google.com/group/pyinstaller?hl=en. > > > > >> > > > > >> -- > > > > >> Daniel Hyams > > > > >> [email protected] > > > > > > > > > > -- > > > > > Daniel Hyams > > > > > [email protected] > > > > > > > > > > -- > > > > > You received this message because you are subscribed to the Google > > > > > > Groups > > > > > > > > "PyInstaller" group. > > > > > To post to this group, send email to [email protected]. > > > > > To unsubscribe from this group, send email to > > > > > [email protected]. > > > > > For more options, visit this group at > > > > > http://groups.google.com/group/pyinstaller?hl=en. > > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "PyInstaller" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]. > > > For more options, visit this group at > > > http://groups.google.com/group/pyinstaller?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "PyInstaller" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/pyinstaller?hl=en. > > -- You received this message because you are subscribed to the Google Groups "PyInstaller" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pyinstaller?hl=en.
