[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