and just to clarify the issue further: to me it seems that the problem is that an extension (_comp_lzo.pyd) is imported from within another extension (utilsExtension.pyd, generated with Pyrex from utilsExtension.pyx). Hence, eventhough tables._comp_lzo.pyd exists in the root directory of onedir build, it's not seen by tables.utilsExtension.pyd in the same directory?
Jussi On May 12, 6:27 pm, Jussi Rasinmäki <[email protected]> wrote: > Hi, > > I found an earlier thread about the problem that I'm experiencing and > it seemed like it was sorted out. But I get the same import problem > with > - Windows XP > - pyinstaller svn trunk > for PyTables (www.pytables.org) 2.1.2 > > This is what I have in hook-tables.py: > hiddenimports = ['tables._comp_lzo', 'tables._comp_bzip2'] > > And this is what I get when enabling debug messages in iu.py in pyinstaller: > > importHook(tables._comp_lzo, tables.utilsExtension, locals, [], -1) > importernm tables.utilsExtension > importHook trying tables in tables > importHook trying tables in None > importHook trying _comp_lzo in tables > trying _comp_lzo tables tables._comp_lzo > doimport(_comp_lzo, tables, tables._comp_lzo) > using parent's importfunc: <bound method PathImportDirector.getmod of > <iu.PathImportDirector instance at 0x01276878>> > ..found <module 'tables._comp_lzo' from > 'C:\Data\simo\dev\pyinstaller\dist\bin\tables._comp_lzo.pyd'> when > looking for tables._comp_lzo > importHook done with tables._comp_lzo tables.utilsExtension [] (case 3) > Traceback (most recent call last): > File "<string>", line 27, in <module> > File "c:\pyinstaller\iu.py", line 436, in importHook > mod = _self_doimport(nm, ctx, fqname) > File "c:\pyinstaller\iu.py", line 521, in doimport > exec co in mod.__dict__ > File > "C:\Data\simo\dev\pyinstaller\build\pyi.win32\simo_onedir\outPYZ11.pyz/simo > .optimization.genetic_algorithm", > line 19, in <module> > File "c:\pyinstaller\iu.py", line 436, in importHook > mod = _self_doimport(nm, ctx, fqname) > File "c:\pyinstaller\iu.py", line 521, in doimport > exec co in mod.__dict__ > File > "C:\Data\simo\dev\pyinstaller\build\pyi.win32\simo_onedir\outPYZ11.pyz/simo > .optimization.optimizer", > line 19, in <module> > File "c:\pyinstaller\iu.py", line 436, in importHook > mod = _self_doimport(nm, ctx, fqname) > File "c:\pyinstaller\iu.py", line 521, in doimport > exec co in mod.__dict__ > File > "C:\Data\simo\dev\pyinstaller\build\pyi.win32\simo_onedir\outPYZ11.pyz/simo > .optimization.tools.omatrix", > line 22, in <module> > File "c:\pyinstaller\iu.py", line 436, in importHook > mod = _self_doimport(nm, ctx, fqname) > File "c:\pyinstaller\iu.py", line 521, in doimport > exec co in mod.__dict__ > File > "C:\Data\simo\dev\pyinstaller\build\pyi.win32\simo_onedir\outPYZ11.pyz/tabl > es", > line 56, in <module> > File "c:\pyinstaller\iu.py", line 436, in importHook > mod = _self_doimport(nm, ctx, fqname) > File "c:\pyinstaller\iu.py", line 495, in doimport > mod = importfunc(nm) > File "c:\pyinstaller\iu.py", line 297, in getmod > mod = owner.getmod(nm) > File "C:\pyinstaller\archive.py", line 468, in getmod > return iu.DirOwner.getmod(self, self.prefix+'.'+nm) > File "c:\pyinstaller\iu.py", line 109, in getmod > mod = imp.load_module(nm, fp, attempt, (ext, mode, typ)) > File "utilsExtension.pyx", line 100, in tables.utilsExtension > AttributeError: 'module' object has no attribute '_comp_lzo' > RC: -1 from runner > > And this is what is around utilsExtension.pyx:100 in PyTables: > > if sys.platform == "win32": > # We need a different approach in Windows, because it compains when > # trying to import the extension that is linked with a dynamic library > # that is not installed in the system. > > # Initialize & register lzo > if getLibrary("lzo2") == 0 or getLibrary("lzo1") == 0: > import tables._comp_lzo > 100: lzo_version = tables._comp_lzo.register_() > else: > lzo_version = None > > End result: I'm at loss how to fix this... > > Cheers, > Jussi > > -- > 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 > athttp://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.
