-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of
Jack Bates
Sent: Tuesday, September 13, 2011 5:28 PM
To: [email protected]
Subject: ImportError: cannot import name dns
Why is the following ImportError raised?
$ ./test
Traceback (most recent call last):
File "./test", line 3, in <module>
from foo import dns
File "/home/jablko/foo/dns.py", line 1, in <module>
from foo import udp
File "/home/jablko/foo/udp.py", line 1, in <module>
from foo import dns
ImportError: cannot import name dns
$
I reproduce this error with the following four files and five lines:
== foo/dns.py ==
from foo import udp
== foo/udp.py ==
from foo import dns
== foo/__init__.py ==
(empty)
== test ==
#!/usr/bin/env python
from foo import dns
===========================================================================
It is a circular dependency. Dns will try to import udp which will in turn
import dns (again) in an endless cycle; instead an ImportError is raised.
Circular dependency is a Bad Thing.
Ramit
Ramit Prasad | JPMorgan Chase Investment Bank | Currencies Technology
712 Main Street | Houston, TX 77002
work phone: 713 - 216 - 5423
This email is confidential and subject to important disclaimers and
conditions including on offers for the purchase or sale of
securities, accuracy and completeness of information, viruses,
confidentiality, legal privilege, and legal entity disclaimers,
available at http://www.jpmorgan.com/pages/disclosures/email.
--
http://mail.python.org/mailman/listinfo/python-list