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

Popular posts from this blog

java - Jmockit String final length method mocking Issue -

asp.net - Razor Page Hosted on IIS 6 Fails Every Morning -

c++ - wxwidget compiling on windows command prompt -