python: how to call a constructor in a module in a package in another package directly -
this question has answer here:
i porting matlab code python. need work packages , modules in case. relevant package directory structure looks this:
toppackage __init__.py subpackage __init__.py module.py ...
in script use package, can work this:
from toppackage.subpackage.module import someclass s = someclass()
but prefer working this:
import toppackage %somewhere @ beginning of file s = toppackage.subpackage.module.someclass()
i see done in numpy. not find in documentation. how can that?
thanks in advance.
you need import contained packages in __init__.py
files.
you can import packages inside toppackage/__init__.py
example:
import toppackage.subpackage.module
or can import each directly contained package, in toppackage/__init__.py
:
from . import subpackage
and in toppackage/subpackage/__init__.py
:
from . import module
just importing top-level package not automatically make contained packages available. need explicitly import full path once, somewhere, before works.
the numpy
package imports nested packages in top-level __init__.py
.
Comments
Post a Comment