This page discusses issues in translating from "non-package" to package imports. It can be a bit tricky to understand what imports work and what imports don't.

Suppose f is a function, m is a module and p is a package. After:

import p.m

the code has access to m but not p. After:

from p.m import f

the code has access to f, but not p or m. The following does not appear to work at all:

import p.m as m

As a shorthand, I think of the situation this way--it's not possible to eliminate imports using packages. In other words, one typically needs the same number of package imports as there were plain imports previously.