我正在尝试像这样构建我的项目
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
都是空的。我想我在这方面做错了。
答案 0 :(得分:1)
应该是
from ..database import db
您还可以通过从项目根目录运行web.py
来检查导入
python -m app.web.web
答案 1 :(得分: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()
它应该有用。