モジュールにいくつかのコードがあります
import pygame
from pygame.locals import *
import reusable
from state import state
class TitleState(state.State):
def __init__(self):
#Create data batches
self.soundbatch = reusable.resourceloader.ResourceBatch(path="data/sound", type="ogg")
self.imagebatch = reusable.resourceloader.ResourceBatch(path="data/image", type="tga")
#Reusable stuff
self.inputengine = reusable.inputengine.InputEngine()
self.mousehandler = reusable.mousehandler.MouseHandler()
def update(self):
pygame.event.pump()
しかし、それは私にエラーを与えます
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\MegaCity\Start.py", line 1, in <module>
import megacity.megacity
File "C:\Users\Administrator\Desktop\MegaCity\megacity\megacity.py", line 37, in <module>
themc = MegaCity()
File "C:\Users\Administrator\Desktop\MegaCity\megacity\megacity.py", line 25, in __init__
self.titlestate = titlestate.TitleState()
File "C:\Users\Administrator\Desktop\MegaCity\state\titlestate.py", line 21, in __init__
self.inputengine = reusable.inputengine.InputEngine()
AttributeError: 'module' object has no attribute 'inputengine'
ただし、 reusable のディレクトリには確かに「inputengine」が含まれています。
Directory of C:\Users\Administrator\Desktop\MegaCity\reusable
10/09/2012 05:29 PM <DIR> .
10/09/2012 05:29 PM <DIR> ..
10/08/2012 09:34 PM 3,920 inputengine.py
10/09/2012 04:54 PM 1,364 mousehandler.py
10/08/2012 09:42 PM 799 resourceloader.py
10/09/2012 05:32 PM 2 __init__.py
10/09/2012 05:32 PM <DIR> __pycache__
しかし、私が行うfrom reusable import inputengine
と、問題なくインポートされinputengine
ます。また、再利用可能なコード__init__.py
を入れると動作します。from . import inputengine
これについての洞察はありますか?