[Cython] AttributeError: 'LetNode' object has no attribute 'generate_rhs_evaluation_code'

Pastafarianist mr.pastafarianist at gmail.com
Tue Nov 3 12:19:08 EST 2015


I'm running Python 3.4.3 and Cython 0.23.4 under Gentoo Linux. I think 
I've found a bug in Cython. Steps to reproduce:

## test.py ##

import pyximport
pyximport.install()

import mymodule

print(mymodule.get(1, 2))

## mymodule.pyx ##

cdef int[2][3] arr = (
     (0, 1, 2),
     (3, 4, 5)
)

cpdef int get(int i, int j):
	return arr[i][j]

####

`python test.py` fails with the following traceback:

Traceback (most recent call last):
   File "/usr/lib64/python3.4/site-packages/pyximport/pyximport.py", 
line 209, in load_module
     inplace=build_inplace, language_level=language_level)
   File "/usr/lib64/python3.4/site-packages/pyximport/pyximport.py", 
line 186, in build_module
     reload_support=pyxargs.reload_support)
   File "/usr/lib64/python3.4/site-packages/pyximport/pyxbuild.py", line 
100, in pyx_to_dll
     dist.run_commands()
   File "/usr/lib64/python3.4/distutils/dist.py", line 955, in run_commands
     self.run_command(cmd)
   File "/usr/lib64/python3.4/distutils/dist.py", line 974, in run_command
     cmd_obj.run()
   File 
"/usr/lib64/python3.4/site-packages/Cython/Distutils/build_ext.py", line 
164, in run
     _build_ext.build_ext.run(self)
   File "/usr/lib64/python3.4/distutils/command/build_ext.py", line 339, 
in run
     self.build_extensions()
   File 
"/usr/lib64/python3.4/site-packages/Cython/Distutils/build_ext.py", line 
171, in build_extensions
     ext.sources = self.cython_sources(ext.sources, ext)
   File 
"/usr/lib64/python3.4/site-packages/Cython/Distutils/build_ext.py", line 
320, in cython_sources
     full_module_name=module_name)
   File "/usr/lib64/python3.4/site-packages/Cython/Compiler/Main.py", 
line 677, in compile
     return compile_single(source, options, full_module_name)
   File "/usr/lib64/python3.4/site-packages/Cython/Compiler/Main.py", 
line 630, in compile_single
     return run_pipeline(source, options, full_module_name)
   File "/usr/lib64/python3.4/site-packages/Cython/Compiler/Main.py", 
line 487, in run_pipeline
     err, enddata = Pipeline.run_pipeline(pipeline, source)
   File 
"/usr/lib64/python3.4/site-packages/Cython/Compiler/Pipeline.py", line 
328, in run_pipeline
     data = phase(data)
   File 
"/usr/lib64/python3.4/site-packages/Cython/Compiler/Pipeline.py", line 
53, in generate_pyx_code_stage
     module_node.process_implementation(options, result)
   File 
"/usr/lib64/python3.4/site-packages/Cython/Compiler/ModuleNode.py", line 
118, in process_implementation
     self.generate_c_code(env, options, result)
   File 
"/usr/lib64/python3.4/site-packages/Cython/Compiler/ModuleNode.py", line 
348, in generate_c_code
     self.generate_module_init_func(modules[:-1], env, 
globalstate['init_module'])
   File 
"/usr/lib64/python3.4/site-packages/Cython/Compiler/ModuleNode.py", line 
2173, in generate_module_init_func
     self.body.generate_execution_code(code)
   File "/usr/lib64/python3.4/site-packages/Cython/Compiler/Nodes.py", 
line 442, in generate_execution_code
     stat.generate_execution_code(code)
   File 
"/usr/lib64/python3.4/site-packages/Cython/Compiler/UtilNodes.py", line 
334, in generate_execution_code
     self.body.generate_execution_code(code)
   File "/usr/lib64/python3.4/site-packages/Cython/Compiler/Nodes.py", 
line 5223, in generate_execution_code
     stat.generate_rhs_evaluation_code(code)
AttributeError: 'LetNode' object has no attribute 
'generate_rhs_evaluation_code'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
   File "/home/pastafarianist/ownCloud/dev/sandbox/cython/test.py", line 
4, in <module>
     import mymodule
   File "/usr/lib64/python3.4/site-packages/pyximport/pyximport.py", 
line 435, in load_module
     language_level=self.language_level)
   File "/usr/lib64/python3.4/site-packages/pyximport/pyximport.py", 
line 225, in load_module
     raise exc.with_traceback(tb)
   File "/usr/lib64/python3.4/site-packages/pyximport/pyximport.py", 
line 209, in load_module
     inplace=build_inplace, language_level=language_level)
   File "/usr/lib64/python3.4/site-packages/pyximport/pyximport.py", 
line 186, in build_module
     reload_support=pyxargs.reload_support)
   File "/usr/lib64/python3.4/site-packages/pyximport/pyxbuild.py", line 
100, in pyx_to_dll
     dist.run_commands()
   File "/usr/lib64/python3.4/distutils/dist.py", line 955, in run_commands
     self.run_command(cmd)
   File "/usr/lib64/python3.4/distutils/dist.py", line 974, in run_command
     cmd_obj.run()
   File 
"/usr/lib64/python3.4/site-packages/Cython/Distutils/build_ext.py", line 
164, in run
     _build_ext.build_ext.run(self)
   File "/usr/lib64/python3.4/distutils/command/build_ext.py", line 339, 
in run
     self.build_extensions()
   File 
"/usr/lib64/python3.4/site-packages/Cython/Distutils/build_ext.py", line 
171, in build_extensions
     ext.sources = self.cython_sources(ext.sources, ext)
   File 
"/usr/lib64/python3.4/site-packages/Cython/Distutils/build_ext.py", line 
320, in cython_sources
     full_module_name=module_name)
   File "/usr/lib64/python3.4/site-packages/Cython/Compiler/Main.py", 
line 677, in compile
     return compile_single(source, options, full_module_name)
   File "/usr/lib64/python3.4/site-packages/Cython/Compiler/Main.py", 
line 630, in compile_single
     return run_pipeline(source, options, full_module_name)
   File "/usr/lib64/python3.4/site-packages/Cython/Compiler/Main.py", 
line 487, in run_pipeline
     err, enddata = Pipeline.run_pipeline(pipeline, source)
   File 
"/usr/lib64/python3.4/site-packages/Cython/Compiler/Pipeline.py", line 
328, in run_pipeline
     data = phase(data)
   File 
"/usr/lib64/python3.4/site-packages/Cython/Compiler/Pipeline.py", line 
53, in generate_pyx_code_stage
     module_node.process_implementation(options, result)
   File 
"/usr/lib64/python3.4/site-packages/Cython/Compiler/ModuleNode.py", line 
118, in process_implementation
     self.generate_c_code(env, options, result)
   File 
"/usr/lib64/python3.4/site-packages/Cython/Compiler/ModuleNode.py", line 
348, in generate_c_code
     self.generate_module_init_func(modules[:-1], env, 
globalstate['init_module'])
   File 
"/usr/lib64/python3.4/site-packages/Cython/Compiler/ModuleNode.py", line 
2173, in generate_module_init_func
     self.body.generate_execution_code(code)
   File "/usr/lib64/python3.4/site-packages/Cython/Compiler/Nodes.py", 
line 442, in generate_execution_code
     stat.generate_execution_code(code)
   File 
"/usr/lib64/python3.4/site-packages/Cython/Compiler/UtilNodes.py", line 
334, in generate_execution_code
     self.body.generate_execution_code(code)
   File "/usr/lib64/python3.4/site-packages/Cython/Compiler/Nodes.py", 
line 5223, in generate_execution_code
     stat.generate_rhs_evaluation_code(code)
ImportError: Building module mymodule failed: ["AttributeError: 
'LetNode' object has no attribute 'generate_rhs_evaluation_code'\n"]


More information about the cython-devel mailing list