Search code examples
pythonmethodsmoduleattributeerror

AttributeError: 'module' object has no attribute 'get_combos'


Hy you all, this is my problem when I run a python file with

execfile("create_revdict.py")

I get

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "create_revdict.py", line 91, in <module>
    combos =  QuickSky.get_combos(det_keys)
AttributeError: 'module' object has no attribute 'get_combos'

but when I look into the QuickSky module wich is import from a pyc file I found

help(QuickSky)


FILE
    /Users/alessandromanzotti/Downloads/FindSkyArea/QuickSky.pyc

CLASSES
__builtin__.object
    Mapper

class Mapper(__builtin__.object)
 |  This is a Mapper class to map the timedelays to the 
 |  keys
 |  
 |  Methods defined here:
 |  
 |  __init__(self, dets, timescope=10000)
 |  
 |  convert_bin_time(self, bin)
 |  
 |  convert_time_bin(self, t)
 |  
 |  create_combo_error(self, error_dict)
 |  
 |  create_dict(self, grid_size, func_time_dict, *args)
 |      Create the actual reverse dictionary
 |      @param grid_size: grid size in radians
 |      @param func_time_dict: function to return the time dict 
 |                            for a given sky position. 
 |                            fun(lon, lat)
 |  
 |  create_key(self, timedelay_dict)
 |      Create a key from the time delay dict
 |  
 |  create_key_list(self, timedelay_dict, error_dict)
 |      Create a bunch of keys including the errors
 |      @params timedelay_dict: timedelay betwen the different sites
 |      @params error_dict: the individual detector timing errors
 |  
 |  create_key_list_ellipse(self, timedelay_dict, error_dict)
 |  
 |  get_combos(self)
 |      Create all possible combinations from the det_keys list, 
 |      in alphabetical order
 |  
 |  get_point_area_sqd(self)
    get_points(self, listkeys)
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
 FUNCTIONS
 define_network(det_keys, flow=10.0)
    Creates the detector network to use
    @param det_keys: list of detectors to be included in the network
    @param flow: The lower cutoff frequency [Hz]

So it seems QuickSky has a the attribute get_combos.

Unfortunately I did not write QuickSky.pyc so I have no access to the QuickSky.py source.

What the error could be?


Solution

  • As the message tells you, get_combos is not a function of the module QuickSky. You can check the contents of this module with dir(QuickSky).

    It looks like get_combos is a method of the QuickSky.Mapper class instead. You may need to create an instance of this latter, using the appropriate dets argument.