这是我的文件结构:
annotations
Helper.py
annotations.py
test
HelloWorld.py
这是HelloWorld.py
,一个简单的HelloWorld
类:
from annotations.annotations import annie
class HelloWorld:
@annie.mydecorate
def something():
echo 'Hello World'
在annotations.py
中,我只是声明了一些简单的装饰器:
from annotations.Helper import Helper
class annie:
@staticmethod
def mydecorate(func):
Helper.prepare()
print func.__name__
我在这里收到错误No such module: Helper
。我想这是在加载模块HelloWorld
时发生的,它正在加载注释模块,但是在加载模块期间正在调用该函数,此时未加载Helper
模块。我不确定我是多么正确,但我只是在寻找解决方案。
问题还有别的吗?我可以导入模块,就像我在一个声明装饰器的文件中一样吗?任何帮助将不胜感激。
此致 罗汉
答案 0 :(得分:2)
在annotations.py
中,尝试:
import Helper
或(相对导入,Python 2.5及更高版本)
from . import Helper
答案 1 :(得分:0)
试试这个:
annotations
Helper.py
annotations.py
__init__.py
HelloWorld.py