[IronPython] Does IronPython 2.0 not recognize packages?

Yash Ganthe yashgt at gmail.com
Tue Dec 2 14:26:04 CET 2008


>>>>>Michael Foord wrote
This will cause Python to expect the name 'Authentication' to exist in
the '__init__.py' file itself - which it won't unless that module
imports it.
>>>>>

I am pretty new to Python. I put the following in __init__.py
import Authentication
__all__ = ["Authentication"]

I still get the error:
> Traceback (most recent call last):
> File "Program.py", line 22, in Program.py
> File "mscorlib", line unknown, in get_Item
> File "mscorlib", line unknown, in ThrowKeyNotFoundException
> KeyError: The given key was not present in the dictionary.


Thanks,
Yash

-----------------------------------------
Yash Ganthe wrote:
> I am using IronPython 2.0 Release Candidate 2
>
>

Packages work fine with IronPython 2.

> >ipy Program.py
> Traceback (most recent call last):
> File "Program.py", line 22, in Program.py
> File "mscorlib", line unknown, in get_Item
> File "mscorlib", line unknown, in ThrowKeyNotFoundException
> KeyError: The given key was not present in the dictionary.
>
> Line 22 where it fails has:
> from PI import *
> I expect all modules from the PI folder to be loaded. The PI folder
> has __init__.py which has the following line:
> __all__ = ["Authentication"]

This will cause Python to expect the name 'Authentication' to exist in
the '__init__.py' file itself - which it won't unless that module
imports it.

> Authentication.py is in the PI folder.
>
> I replaced the erring line with :
> sys.path.append(r'.\PI')
> from Authentication import *
>
This is *very* different to having __all__ = ["Authentication"] in the
module. Try it without the sys.path manipulation and I think you will
find it still works.

All the best,

Michael Foord
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20081202/f033ffc5/attachment.html>


More information about the Ironpython-users mailing list