Python 将同一个包导入本地包的多个模块

Python 将同一个包导入本地包的多个模块,python,import,package,Python,Import,Package,我为我正在编写的Flask应用程序提供了一个本地“models”包,其中每个模型类都位于自己的.py文件中,“models”dir有一个(除版本信息外,当前为空)文件\uu init\uuuuuuuuuuuuuuuuuuuuuupy以便我可以导入它。 此设置工作正常,但每个模块当前都导入sqlite3以执行数据库操作是否有一种方法可以使用单个导入语句,例如在\uuuu init\uuuu.py中,而不需要在每个单独的模块中使用语句? 我创建了一个非常简单的本地包,看看我是否可以自己实现它,但这不

我为我正在编写的Flask应用程序提供了一个本地“models”包,其中每个模型类都位于自己的.py文件中,“models”dir有一个(除版本信息外,当前为空)文件
\uu init\uuuuuuuuuuuuuuuuuuuuuupy
以便我可以导入它。
此设置工作正常,但每个模块当前都导入sqlite3以执行数据库操作是否有一种方法可以使用单个导入语句,例如在
\uuuu init\uuuu.py
中,而不需要在每个单独的模块中使用语句?

我创建了一个非常简单的本地包,看看我是否可以自己实现它,但这不起作用:

package-test/
    testpkg/
        __init__.py
        one.py
其中
\uuuu init\uuuuuuuuuuuuuuuuuuuupy
包含
从日期时间导入日期为dt
,而
one.py
包含:

def sayDate():
    return dt.today()
当我从包test dir运行REPL时,我可以从testpkg导入一个
没有问题,但是运行
one.sayDate()
返回
未定义名称“dt”

更一般地说,例如在
\uu init\uuuuuuuuupy
中执行
import datetime
,并在模块的函数定义中说
return datetime.date.today()
返回
名称“datetime”未定义

或者有没有更好的方法来避免在多个模块中导入相同的内容


谢谢大家!

您不必担心多次导入一个模块。导入的模块缓存在
sys.modules
中,而导入
sqlite3
的实际过程只会发生一次。我不知道,但我认为Python会足够聪明地做到这一点。如果知道是否可以在某个地方使用一条适用于包中每个模块的import语句,那就太好了。