Python 包和导入 - 找不到模块 xy
我正在尝试把我的项目结构整理成这样
app/
__init__.py
web/
__init__.py
web.py
database/
__init__.py
db.py
我想从 db.py
文件里导入几个类到 web.py
文件里,但总是出现 ImportError: No module named
的错误。我到目前为止尝试了这些
web.py
from __future__ import absolute_import
from database.db import ClassA
OR
from __future__ import absolute_import
from app.database.db import ClassA
OR
from __future__ import absolute_import
import database import ClassA
我缺少了什么呢?
// 编辑:
db/__init __.py
from db import ClassA
其他的 __init__.py
文件都是空的。我想我在这方面做错了什么。
2 个回答
1
应该是这样的
from ..database import db
你也可以通过在项目根目录运行 web.py
来检查导入的内容
python -m app.web.web
1
假设:
C:\pytest\
test.py
\database\
db.py
__init__.py
\subfolder\
__init__.py
coolios.py
其中 __init__.py
文件的内容是:
from db import *
而第二个 __init__.py
文件的内容是:
from coolios import *
并且 db.py
文件的内容是:
class WHAM():
def __init__(self):
print 'You import me!'
还有 coolios.py
文件的内容是:
from database import *
class ganster():
def __init__(self):
WHAM()
最后 test.py
文件的内容是:
from subfolder import ganster
ganster()
这样应该就能正常工作了。