Gabriel Genellina wrote:
En Fri, 06 Nov 2009 18:33:37 -0300, Stef Mientki
<stef.mien...@gmail.com> escribió:
I get an error compiling with pyjamas, in the standard module
imputil, _import_top_module
Note that imputil is undocumented in 2.5, deprecated in 2.6 and
definitively gone in 3.0
AttributeError: 'unicode' object has no attribute 'import_top'
def _import_top_module(self, name):
# scan sys.path looking for a location in the filesystem that
contains
# the module, or an Importer object that can import the module.
for item in sys.path:
if isinstance(item, _StringType):
module = self.fs_imp.import_from_dir(item, name)
else:
module = item.import_top(name)
if module:
return module
return None
It seems that elements of sys.path can be of the type unicode
so by adding the next 2 lines, everything works ok.
elif isinstance ( item, basestring ) :
module = self.fs_imp.import_from_dir ( str(item), name)
is this a bug ?
(I'm using Python 2.5.2 on Windows )
Yes, seems to be a bug. But given the current status of imputil, it's
not likely to be fixed; certainly not in 2.5 which only gets security
fixes now.
I cannot test it at this moment, but I'd use the unicode item directly
(that is, self.fs_imp.import_from_dir(item, name)). Or perhaps
item.encode(sys.getdefaultfilesystemencoding()). str(item)
definitively won't work with directory names containing non-ascii
characters.
Why are you using imputil in the first place?
thanks Gabriel,
well PyJamas is using (a copy) of it and I bumped into problems using
PyJamas.
I'll send this message to the PyJamas developers,
because this stuff is far beyond my knowledge.
cheers,
Stef
--
http://mail.python.org/mailman/listinfo/python-list