On Thu, 21 Jan 2016 07:52:17 -0700, Ian Kelly wrote: >> I have no idea what was imported before. I just want to import >> hexdump(). Unfortunately, this does not work: >> >> from utilities import hexdump >> >> ImportError: cannot import name hexdump > > What is utilities? Is it a module on your sys.path?
Yes. > What makes you think this is caused by circular dependencies? It could > be, but you really haven't given us enough information about what > utilities is to diagnose that. Well, I thought that that's what causes these import problems. I just wish that python gave me more information, like the tree of imports that's causing the problem. >> would you explain to me why I get this: >> >> (PDB)hexdump(msg) >> *** NameError: name 'hexdump' is not defined > > Probably because the name 'hexdump' is not defined. If indeed it's not defined, then I wouldn't think there'd be a problem importing the module that defines it. >> P.S. can I get a list of all the loaded symbols and/or modules? > > What do you mean by "loaded"? Bound to a name in the main module? In the > globals of the current scope? In any module? Try the "dir" or "vars" > built-in. > > You can get a view of all the *cached* modules by looking in the > sys.modules dict. as in this? (PDB) pp dict (sys.modules) Okay, quite good. I have this (among others): 'hexdump': <module 'hexdump' from '/home/user/hexdump.pyc'>, 'int.hexdump': None, But I suspect the first, at any rate, was loaded because of this in my ~/.pdbrc: from hexdump import hexdump which wouldn't interfere when running without the debugger (that module in my sys.path but nowhere near my project) I have this in my project: int/__init__.py But: $ ls int/hexdump* ls: cannot access int/hexdump*: No such file or directory So I don't really understand "int.hexdump". I have these function definitions: codec/objects.py:47:def hexdump (s, l = None): int/struct_phy.py:26:def hexdump (s, l = None): both in modules. It fails to load: from struct_phy import hexdump or: from int.struct_phy import hexdump ImportError: cannot import name hexdump -- https://mail.python.org/mailman/listinfo/python-list