Solution-resistant AttributeError: 'modle' object has no attribute...

Joel Goldstick joel.goldstick at gmail.com
Thu Jul 10 19:31:56 CEST 2014


On Thu, Jul 10, 2014 at 12:41 PM, Dan Stromberg <drsalists at gmail.com> wrote:
> 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'

Do you need to add parens?  is this a method, not at attribute?
    dummy = higgins.models.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!
> --
> https://mail.python.org/mailman/listinfo/python-list



-- 
Joel Goldstick
http://joelgoldstick.com



More information about the Python-list mailing list