Propagate import for all modules in a package.
Albert Hopkins
marduk at letterboxes.org
Fri Jul 17 13:59:39 EDT 2009
On Fri, 2009-07-17 at 10:28 -0700, Phil wrote:
> I'm really new to Python and I am absolutely stumped trying to figure
> this out. I have searched plenty, but I am either searching for the
> wrong keywords or this isn't possible.
>
> What I want to do is have one import be global for the entire package.
> Here is an example...
>
> <package>
> __init__.py
> module1.py
> module2.py
> ...
> moduleN.py
>
> I was thinking that I could just, for example, 'from datetime import
> datetime' in __init__.py and have the ability to use 'datetime'
> anywhere in any of the modules in 'package'.
>
> This didn't work for me. Did I just do something wrong? Is what I am
> trying to do possible?
>
That's not how packages (were designed to) work. A package is basically
a namespace. It doesn't do anything special outside of providing a
namespace for common modules. There are some special features (e.g.
__init__.py which is basically the "body" of the package and '__all__'
which handles wildcard imports of a package) but other than that it's
just a namespace.
More information about the Python-list
mailing list