从位于python包中的文件导入特定的类

时间:2013-03-28 17:48:37

标签: python package

我有一个python包mainother_python_files,如:

main/
    __init__.py
    lib.py
    other_python_files/
        __init__.py
        test.py

lib.py包含一个名为MyClass的类。当我在from main import lib.pyMyClass并使用test.py时,我收到MyClass未定义的错误。

我尝试在from main import MyClass目录中的init文件中执行main但我仍然遇到相同的错误。如何从lib.py文件中导入特定的类?

1 个答案:

答案 0 :(得分:2)

您必须从lib中导出该类:

from main.lib import MyClass

或使用lib.MyClass代替MyClass

您还可以在MyClass内的__init__.py文件中导入main,这样您就可以按照原来的方式导入该文件:

__all__ = ['MyClass']

from lib import MyClass

您可以在此处阅读__all__Can someone explain __all__ in Python?