Простой кросс-импорт в python
Я хочу разделить код в разных классах и поместить их в разные файлы. Однако эти классы зависят друг от друга.
main.py:
from lib import A, B
def main():
a = A()
b = B()
a.hello()
b.hello()
if __name__ == '__main__':
main()
Библиотека / _в этом_.py:
from a import A
from b import B
Библиотека / a.py:
import lib.B
class A():
def __init__(self):
print "A"
def hello(self):
print "hello A"
b = B()
Библиотека / b.py:
import lib.A
class B():
def __init__(self):
print "B"
def hello(self):
print "hello B"
a = A()
Возможно ли это сделать в Python?
РЕДАКТИРОВАТЬ:
Я получаю это сообщение об ошибке:
pydev debugger: starting
Traceback (most recent call last):
File "eclipse-python/plugins/org.python.pydev_2.7.1.2012100913/pysrc/pydevd.py", line 1397, in
debugger.run(setup['file'], None, None)
File "eclipse-python/plugins/org.python.pydev_2.7.1.2012100913/pysrc/pydevd.py", line 1090, in run
pydev_imports.execfile(file, globals, locals) #execute the script
File "main.py", line 2, in
from lib import A, B
File "lib/__init__.py", line 1, in
from a import A
File "lib/a.py", line 1, in
import lib.B
ImportError: No module named B