Python名称空间';导入X';和';从X导入';
以下代码起作用:Python名称空间';导入X';和';从X导入';,python,python-3.x,sqlalchemy,namespaces,Python,Python 3.x,Sqlalchemy,Namespaces,以下代码起作用: from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() 但是,以下方面: import sqlalchemy Base = sqlalchemy.ext.declarative.declarative_base() 抛出:模块“sqlalchemy”没有属性“ext”。这怎么可能呢?sqlalchemy是一个包,导入包不会自动加载其子模块。当你这样做的时候 impor
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
但是,以下方面:
import sqlalchemy
Base = sqlalchemy.ext.declarative.declarative_base()
抛出:
模块“sqlalchemy”没有属性“ext”
。这怎么可能呢?sqlalchemy
是一个包,导入包不会自动加载其子模块。当你这样做的时候
import sqlalchemy
Base = sqlalchemy.ext.declarative.declarative_base()
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
导入系统不会加载sqlalchemy.ext
子模块,因为您没有请求它
当你这样做的时候
import sqlalchemy
Base = sqlalchemy.ext.declarative.declarative_base()
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
您已明确请求加载sqlalchemy.ext
和sqlalchemy.ext.declarative
以便访问正常
你也可以这样做
import sqlalchemy.ext.declarative
Base = sqlalchemy.ext.declarative.declarative_base()
它还将加载sqlalchemy.ext
和sqlalchemy.ext.declarative
有些包会自动将其子模块加载到其
\uuuu init\uuuuu.py
中,因此您不必显式导入子模块。但是,这不是您应该依赖的。sqlalchemy
是一个包,导入包不会自动加载其子模块。当你这样做的时候
import sqlalchemy
Base = sqlalchemy.ext.declarative.declarative_base()
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
导入系统不会加载sqlalchemy.ext
子模块,因为您没有请求它
当你这样做的时候
import sqlalchemy
Base = sqlalchemy.ext.declarative.declarative_base()
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
您已明确请求加载sqlalchemy.ext
和sqlalchemy.ext.declarative
以便访问正常
你也可以这样做
import sqlalchemy.ext.declarative
Base = sqlalchemy.ext.declarative.declarative_base()
它还将加载sqlalchemy.ext
和sqlalchemy.ext.declarative
有些包会自动将其子模块加载到其\uuuu init\uuuuu.py
中,因此您不必显式导入子模块。不过,这不是你应该依赖的