1

私は自分のプロジェクトをこのように構成しようとしています

app/
__init__.py
web/
    __init__.py
    web.py
database/
    __init__.py
    db.py

db.pyからいくつかのクラスをインポートしたいだけですweb.pyが、 a だけ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は空です。私はこれについて何か間違ったことをしていると思います。

4

2 に答える 2

1

そのはず

from ..database import db

web.pyプロジェクトのルートからを実行して、インポートを確認することもできます。

python -m app.web.web
于 2013-02-06T10:31:35.380 に答える
1

仮定:

C:\pytest\
   test.py
   \database\
       db.py
       __init__.py
   \subfolder\
       __init__.py
       coolios.py

含まれる場所__init__.py:

from db import *

2 番目の__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()

それはうまくいくはずです。

于 2013-02-06T10:36:54.780 に答える