Solution-resistant AttributeError: 'modle' object has no attribute...
Dan Stromberg
drsalists at gmail.com
Thu Jul 10 12:41:22 EDT 2014
Hi folks.
I'm having trouble with a strange AttributeError. I'm using RQ (Redis
Queue) and Django, both of which are new to me, so perhaps they are
somehow relevant.
Anyway, the traceback looks like:
Traceback (most recent call last):
File "/home/ec2-user/miniconda/envs/sciencedb/lib/python2.7/site-packages/rq/worker.py",
line 479, in perform_job
rv = job.perform()
File "/home/ec2-user/miniconda/envs/sciencedb/lib/python2.7/site-packages/rq/job.py",
line 466, in perform
self._result = self.func(*self.args, **self.kwargs)
File "/home/ec2-user/science_server/higgins/tasks.py", line 276, in
session_retrieval_manager
dummy = higgins.models.extract_guid_from_visi_filename
AttributeError: 'module' object has no attribute
'extract_guid_from_visi_filename'
But looking in higgins/models.py, I see a def for
extract_guid_from_visi_filename.
Here's a list of things I've checked/tried, compiled from the first
two pages of google hits on the error, and a couple of my own guesses:
# circular dependency in imports? No.
# module of same name? No, because __file__ looks correct
# Not in Django's settings.py's INSTALLED_APPS? No, higgins is
present in INSTALLED_APPS
# No __init__.py? There is an __init__.py in the higgins directory
# Old .pyc? No, I've removed it and same result
# __all__ present? No
# Need to from module import function? No, does not help.
BTW, pylint doesn't flag an error.
BTW, I can import and retrieve the function fine in django's "python
manage.py shell".
If I sys.stderr.write the module's __file__, it gives a full path that
looks as expected.
If I sys.stderr.write(dir(higgins.models)), it has some of the symbols
from higgins.models, but some of them are missing, including the
function I want. It's as though an old version of the module is being
seen, rather than the current version.
Anyone have any (further) suggestions for me?
Thanks!
More information about the Python-list
mailing list