In [9]:
from numba import jit
from numpy import arange

# jit decorator tells Numba to compile this function.
# The argument types will be inferred by Numba when function is called.
@jit
def sum2d(arr):
    M, N = arr.shape
    result = 0.0
    for i in range(M):
        for j in range(N):
            result += arr[i,j]
    return result

a = arange(9).reshape(3,3)
print(sum2d(a))


---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-9-8af3e2ffddbe> in <module>()
     14 
     15 a = arange(9).reshape(3,3)
---> 16 print(sum2d(a))

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/dispatcher.py in _compile_for_args(self, *args, **kws)
    155         assert not kws
    156         sig = tuple([self.typeof_pyval(a) for a in args])
--> 157         return self.compile(sig)
    158 
    159     def inspect_types(self, file=None):

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/dispatcher.py in compile(self, sig)
    275                                           self.py_func,
    276                                           args=args, return_type=return_type,
--> 277                                           flags=flags, locals=self.locals)
    278 
    279             # Check typing error if object mode is used

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library)
    545     pipeline = Pipeline(typingctx, targetctx, library,
    546                         args, return_type, flags, locals)
--> 547     return pipeline.compile_extra(func)
    548 
    549 

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_extra(self, func)
    291                 raise e
    292 
--> 293         return self.compile_bytecode(bc, func_attr=self.func_attr)
    294 
    295     def compile_bytecode(self, bc, lifted=(),

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_bytecode(self, bc, lifted, func_attr)
    299         self.lifted = lifted
    300         self.func_attr = func_attr
--> 301         return self._compile_bytecode()
    302 
    303     def compile_internal(self, bc, func_attr=DEFAULT_FUNCTION_ATTRIBUTES):

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _compile_bytecode(self)
    532 
    533         pm.finalize()
--> 534         return pm.run(self.status)
    535 
    536 

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
    189                     # No more fallback pipelines?
    190                     if is_final_pipeline:
--> 191                         raise patched_exception
    192                     # Go to next fallback pipeline
    193                     else:

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
    181             for stage, stage_name in self.pipeline_stages[pipeline_name]:
    182                 try:
--> 183                     res = stage()
    184                 except _EarlyPipelineCompletion as e:
    185                     return e.result

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in stage_objectmode_frontend(self)
    365         if self.flags.enable_looplift:
    366             assert not self.lifted
--> 367             cres = self.frontend_looplift()
    368             if cres is not None:
    369                 raise _EarlyPipelineCompletion(cres)

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in frontend_looplift(self)
    356                                     outer_flags, self.locals,
    357                                     lifted=tuple(loops),
--> 358                                     func_attr=self.func_attr)
    359             return cres
    360 

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_bytecode(typingctx, targetctx, bc, args, return_type, flags, locals, lifted, func_attr, library)
    554     pipeline = Pipeline(typingctx, targetctx, library,
    555                         args, return_type, flags, locals)
--> 556     return pipeline.compile_bytecode(bc=bc, lifted=lifted, func_attr=func_attr)
    557 
    558 

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_bytecode(self, bc, lifted, func_attr)
    299         self.lifted = lifted
    300         self.func_attr = func_attr
--> 301         return self._compile_bytecode()
    302 
    303     def compile_internal(self, bc, func_attr=DEFAULT_FUNCTION_ATTRIBUTES):

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _compile_bytecode(self)
    532 
    533         pm.finalize()
--> 534         return pm.run(self.status)
    535 
    536 

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
    189                     # No more fallback pipelines?
    190                     if is_final_pipeline:
--> 191                         raise patched_exception
    192                     # Go to next fallback pipeline
    193                     else:

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
    181             for stage, stage_name in self.pipeline_stages[pipeline_name]:
    182                 try:
--> 183                     res = stage()
    184                 except _EarlyPipelineCompletion as e:
    185                     return e.result

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in stage_objectmode_backend(self)
    467         """
    468         lowerfn = self.backend_object_mode
--> 469         res = self._backend(lowerfn, objectmode=True)
    470 
    471         # Warn if compiled function in object mode and force_pyobject not set

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _backend(self, lowerfn, objectmode)
    445             codegen = self.targetctx.jit_codegen()
    446             self.library = codegen.create_library(self.bc.func_qualname)
--> 447         lowered = lowerfn()
    448         signature = typing.signature(self.return_type, *self.args)
    449         cr = compile_result(typing_context=self.typingctx,

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in backend_object_mode(self)
    423                                      self.library,
    424                                      self.interp,
--> 425                                      self.flags)
    426 
    427     def backend_nopython_mode(self):

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in py_lowering_stage(targetctx, library, interp, flags)
    703     fndesc = lowering.PythonFunctionDescriptor.from_object_mode_function(interp)
    704     lower = objmode.PyLower(targetctx, library, fndesc, interp)
--> 705     lower.lower()
    706     if not flags.no_cpython_wrapper:
    707         lower.create_cpython_wrapper()

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/lowering.py in lower(self)
    236             self.blkmap[offset] = self.function.append_basic_block(bname)
    237 
--> 238         self.pre_lower()
    239         # pre_lower() may have changed the current basic block
    240         entry_block_tail = self.builder.basic_block

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/objmode.py in pre_lower(self)
     51             self.pyapi.err_set_string(
     52                 "PyExc_SystemError",
---> 53                 "Numba internal error: object mode function called "
     54                 "without an environment")
     55             self.return_exception_raised()

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/pythonapi.py in err_set_string(self, exctype, msg)
    119             exctype = self.get_c_object(exctype)
    120         if isinstance(msg, str):
--> 121             msg = self.context.insert_const_string(self.module, msg)
    122         return self.builder.call(fn, (exctype, msg))
    123 

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/targets/base.py in insert_const_string(self, mod, string)
    248         text = Constant.stringz(string)
    249         name = ".const.%s" % string
--> 250         for gv in mod.global_variables:
    251             if gv.name == name and gv.type.pointee == text.type:
    252                 break

AttributeError: Failed at object (object mode frontend)
Failed at object (object mode backend)
'Module' object has no attribute 'global_variables'

In [4]:
@jit
def f(x):
    return x**2

In [7]:
f(5)


---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-7-786fe69aba34> in <module>()
----> 1 f(5)

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/dispatcher.py in _compile_for_args(self, *args, **kws)
    155         assert not kws
    156         sig = tuple([self.typeof_pyval(a) for a in args])
--> 157         return self.compile(sig)
    158 
    159     def inspect_types(self, file=None):

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/dispatcher.py in compile(self, sig)
    275                                           self.py_func,
    276                                           args=args, return_type=return_type,
--> 277                                           flags=flags, locals=self.locals)
    278 
    279             # Check typing error if object mode is used

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library)
    545     pipeline = Pipeline(typingctx, targetctx, library,
    546                         args, return_type, flags, locals)
--> 547     return pipeline.compile_extra(func)
    548 
    549 

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_extra(self, func)
    291                 raise e
    292 
--> 293         return self.compile_bytecode(bc, func_attr=self.func_attr)
    294 
    295     def compile_bytecode(self, bc, lifted=(),

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_bytecode(self, bc, lifted, func_attr)
    299         self.lifted = lifted
    300         self.func_attr = func_attr
--> 301         return self._compile_bytecode()
    302 
    303     def compile_internal(self, bc, func_attr=DEFAULT_FUNCTION_ATTRIBUTES):

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _compile_bytecode(self)
    532 
    533         pm.finalize()
--> 534         return pm.run(self.status)
    535 
    536 

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
    189                     # No more fallback pipelines?
    190                     if is_final_pipeline:
--> 191                         raise patched_exception
    192                     # Go to next fallback pipeline
    193                     else:

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
    181             for stage, stage_name in self.pipeline_stages[pipeline_name]:
    182                 try:
--> 183                     res = stage()
    184                 except _EarlyPipelineCompletion as e:
    185                     return e.result

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in stage_objectmode_backend(self)
    467         """
    468         lowerfn = self.backend_object_mode
--> 469         res = self._backend(lowerfn, objectmode=True)
    470 
    471         # Warn if compiled function in object mode and force_pyobject not set

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _backend(self, lowerfn, objectmode)
    445             codegen = self.targetctx.jit_codegen()
    446             self.library = codegen.create_library(self.bc.func_qualname)
--> 447         lowered = lowerfn()
    448         signature = typing.signature(self.return_type, *self.args)
    449         cr = compile_result(typing_context=self.typingctx,

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in backend_object_mode(self)
    423                                      self.library,
    424                                      self.interp,
--> 425                                      self.flags)
    426 
    427     def backend_nopython_mode(self):

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in py_lowering_stage(targetctx, library, interp, flags)
    703     fndesc = lowering.PythonFunctionDescriptor.from_object_mode_function(interp)
    704     lower = objmode.PyLower(targetctx, library, fndesc, interp)
--> 705     lower.lower()
    706     if not flags.no_cpython_wrapper:
    707         lower.create_cpython_wrapper()

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/lowering.py in lower(self)
    236             self.blkmap[offset] = self.function.append_basic_block(bname)
    237 
--> 238         self.pre_lower()
    239         # pre_lower() may have changed the current basic block
    240         entry_block_tail = self.builder.basic_block

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/objmode.py in pre_lower(self)
     51             self.pyapi.err_set_string(
     52                 "PyExc_SystemError",
---> 53                 "Numba internal error: object mode function called "
     54                 "without an environment")
     55             self.return_exception_raised()

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/pythonapi.py in err_set_string(self, exctype, msg)
    119             exctype = self.get_c_object(exctype)
    120         if isinstance(msg, str):
--> 121             msg = self.context.insert_const_string(self.module, msg)
    122         return self.builder.call(fn, (exctype, msg))
    123 

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/targets/base.py in insert_const_string(self, mod, string)
    248         text = Constant.stringz(string)
    249         name = ".const.%s" % string
--> 250         for gv in mod.global_variables:
    251             if gv.name == name and gv.type.pointee == text.type:
    252                 break

AttributeError: Failed at object (object mode backend)
'Module' object has no attribute 'global_variables'

In [8]:
f(6)


---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-8-45c3982c8254> in <module>()
----> 1 f(6)

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/dispatcher.py in _compile_for_args(self, *args, **kws)
    155         assert not kws
    156         sig = tuple([self.typeof_pyval(a) for a in args])
--> 157         return self.compile(sig)
    158 
    159     def inspect_types(self, file=None):

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/dispatcher.py in compile(self, sig)
    275                                           self.py_func,
    276                                           args=args, return_type=return_type,
--> 277                                           flags=flags, locals=self.locals)
    278 
    279             # Check typing error if object mode is used

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library)
    545     pipeline = Pipeline(typingctx, targetctx, library,
    546                         args, return_type, flags, locals)
--> 547     return pipeline.compile_extra(func)
    548 
    549 

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_extra(self, func)
    291                 raise e
    292 
--> 293         return self.compile_bytecode(bc, func_attr=self.func_attr)
    294 
    295     def compile_bytecode(self, bc, lifted=(),

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_bytecode(self, bc, lifted, func_attr)
    299         self.lifted = lifted
    300         self.func_attr = func_attr
--> 301         return self._compile_bytecode()
    302 
    303     def compile_internal(self, bc, func_attr=DEFAULT_FUNCTION_ATTRIBUTES):

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _compile_bytecode(self)
    532 
    533         pm.finalize()
--> 534         return pm.run(self.status)
    535 
    536 

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
    189                     # No more fallback pipelines?
    190                     if is_final_pipeline:
--> 191                         raise patched_exception
    192                     # Go to next fallback pipeline
    193                     else:

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
    181             for stage, stage_name in self.pipeline_stages[pipeline_name]:
    182                 try:
--> 183                     res = stage()
    184                 except _EarlyPipelineCompletion as e:
    185                     return e.result

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in stage_objectmode_backend(self)
    467         """
    468         lowerfn = self.backend_object_mode
--> 469         res = self._backend(lowerfn, objectmode=True)
    470 
    471         # Warn if compiled function in object mode and force_pyobject not set

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _backend(self, lowerfn, objectmode)
    445             codegen = self.targetctx.jit_codegen()
    446             self.library = codegen.create_library(self.bc.func_qualname)
--> 447         lowered = lowerfn()
    448         signature = typing.signature(self.return_type, *self.args)
    449         cr = compile_result(typing_context=self.typingctx,

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in backend_object_mode(self)
    423                                      self.library,
    424                                      self.interp,
--> 425                                      self.flags)
    426 
    427     def backend_nopython_mode(self):

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in py_lowering_stage(targetctx, library, interp, flags)
    703     fndesc = lowering.PythonFunctionDescriptor.from_object_mode_function(interp)
    704     lower = objmode.PyLower(targetctx, library, fndesc, interp)
--> 705     lower.lower()
    706     if not flags.no_cpython_wrapper:
    707         lower.create_cpython_wrapper()

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/lowering.py in lower(self)
    236             self.blkmap[offset] = self.function.append_basic_block(bname)
    237 
--> 238         self.pre_lower()
    239         # pre_lower() may have changed the current basic block
    240         entry_block_tail = self.builder.basic_block

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/objmode.py in pre_lower(self)
     51             self.pyapi.err_set_string(
     52                 "PyExc_SystemError",
---> 53                 "Numba internal error: object mode function called "
     54                 "without an environment")
     55             self.return_exception_raised()

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/pythonapi.py in err_set_string(self, exctype, msg)
    119             exctype = self.get_c_object(exctype)
    120         if isinstance(msg, str):
--> 121             msg = self.context.insert_const_string(self.module, msg)
    122         return self.builder.call(fn, (exctype, msg))
    123 

/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/targets/base.py in insert_const_string(self, mod, string)
    248         text = Constant.stringz(string)
    249         name = ".const.%s" % string
--> 250         for gv in mod.global_variables:
    251             if gv.name == name and gv.type.pointee == text.type:
    252                 break

AttributeError: Failed at object (object mode backend)
'Module' object has no attribute 'global_variables'

In [ ]: