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.

Reply via email to