Message87525
its with any .pyx (Cython) module , when after pyximport.install() and
injection of --inplace option a .pyx module is imported.
the relevant lines in pyxbuild.py are
dist.run_commands()
return dist.get_command_obj("build_ext").get_outputs()[0]
which use the buggy "get_outputs" and shall return the full path of
built module to pyximport.py :
so_path = pyxbuild.pyx_to_dll(pyxfilename, extension_mod,
build_in_temp=build_in_temp,
pyxbuild_dir=pyxbuild_dir,
setup_args=sargs )
assert os.path.exists(so_path), "Cannot find: %s" % so_path
=> crash with "Cannot find..." before pyximport.load_module goes to
import it.
-
A stripped down test case should perhaps 'build_ext' any arbitrary
extension module with --inplace ( a option of base command 'build' ) and
something like ...
dist.get_command_obj("build_ext").inplace=1
dist.run_commands()
so_path = dist.get_command_obj("build_ext").get_outputs()[0]
assert os.path.isfile(so_path) and os.path.dirname(so_path) in ('','.')
... will produce a invalid so_path: not pointing to actual locally
in-place built xy.pyd/.so, but to a non-existing or old file in the
build folders |
|
Date |
User |
Action |
Args |
2009-05-10 14:31:33 | kxroberto | set | recipients:
+ kxroberto, tarek |
2009-05-10 14:31:33 | kxroberto | set | messageid: <1241965893.41.0.569280780062.issue5977@psf.upfronthosting.co.za> |
2009-05-10 14:31:31 | kxroberto | link | issue5977 messages |
2009-05-10 14:31:30 | kxroberto | create | |
|