[英]Import from packages __init__
I got problem I'm not able to fix although I tried almost everything I know or could read somewhere else. 我遇到了我无法解决的问题,尽管我尝试了几乎所有我知道或可以在其他地方读到的东西。
I got a package with this structure: 我得到了一个具有以下结构的软件包:
package/
__init__.py
file.py
file2.py
file3.py
subpackage/
__init__.py
submodule1.py
submodule2.py
Lets say I have variable 'db' declared in package/ init .py and I want to import db into file.py, would I do it as: 可以说我在package / init .py中声明了变量'db',并且我想将db导入到file.py中,我可以这样做:
file1.py: file1.py:
from package import db 从包导入数据库
? ?
请尝试from project_top.project import db
oder更好地删除目录project_top
的__init__.py
,因为它看起来并不像是一个软件包。
通常,除了可能不依赖于导入的常量的常量外,永远不要在__init__.py
文件中放入任何内容,因为__init__.py
中的任何内容都需要从树的更深层次中导入内容,这正如您所发现的一样。当它们本身更深层次地尝试执行跨越仍在构造中的__init__.py
空间的导入时,可能会导致导入循环。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.