Skip to content

Commit a6a5140

Browse files
committed
BUG: Import C module from Python submodule
Trigger the C module initialization funcitons of the submodule stored in the module binary. To address: distributed.protocol.core - CRITICAL - Failed to deserialize Traceback (most recent call last): File "/home/matt/bin/miniconda3/envs/dask/lib/python3.7/site-packages/distributed/protocol/core.py", line 130, in loads value = _deserialize(head, fs, deserializers=deserializers) File "/home/matt/bin/miniconda3/envs/dask/lib/python3.7/site-packages/distributed/protocol/serialize.py", line 303, in deserialize return loads(header, frames) File "/home/matt/bin/miniconda3/envs/dask/lib/python3.7/site-packages/distributed/protocol/serialize.py", line 65, in pickle_loads return pickle.loads(x, buffers=buffers) File "/home/matt/bin/miniconda3/envs/dask/lib/python3.7/site-packages/distributed/protocol/pickle.py", line 66, in loads return pickle.loads(x) File "/home/matt/bin/miniconda3/envs/dask/lib/python3.7/site-packages/itk/itkPyBufferPython.py", line 13, in <module> from . import _itkPyBufferPython ImportError: cannot import name '_itkPyBufferPython' from 'itk' (unknown location) Addresses #1517
1 parent 166be4d commit a6a5140

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

Wrapping/Generators/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ macro(itk_wrap_submodule_all_generators module)
119119
itk_wrap_submodule_DOC("${module}")
120120
endif()
121121
if(${module_prefix}_WRAP_PYTHON AND WRAPPER_LIBRARY_PYTHON)
122-
itk_wrap_submodule_python("${module}")
122+
itk_wrap_submodule_python("${module}" "${WRAPPER_LIBRARY_NAME}")
123123
endif()
124124
if(${module_prefix}_WRAP_TCL AND WRAPPER_LIBRARY_TCL)
125125
itk_wrap_submodule_tcl("${module}")

Wrapping/Generators/Python/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ macro(itk_end_wrap_module_python)
331331
set(ITK_WRAP_PYTHON_PROCESS_SWIG_INPUTS ON)
332332
foreach(source ${WRAPPER_LIBRARY_SWIG_INPUTS})
333333
get_filename_component(base_name ${source} NAME_WE)
334-
itk_wrap_submodule_python("${base_name}")
334+
itk_wrap_submodule_python("${base_name}" "${WRAPPER_LIBRARY_NAME}")
335335
itk_end_wrap_submodule_python("${base_name}")
336336
endforeach()
337337
set(ITK_WRAP_PYTHON_PROCESS_SWIG_INPUTS OFF)
@@ -623,11 +623,11 @@ macro(ADD_PYTHON_CONFIG_TEMPLATE base_name wrap_class swig_name template_params)
623623
endmacro()
624624

625625

626-
macro(itk_wrap_submodule_python module)
627-
set(ITK_WRAP_PYTHON_SWIG_EXT "\n")
626+
macro(itk_wrap_submodule_python submodule module)
627+
set(ITK_WRAP_PYTHON_SWIG_EXT "%pythonbegin %{\nfrom . import _${module}Python\n%}\n\n")
628628

629629
# register the module for the lib module
630-
set(ITK_WRAP_PYTHON_LIBRARY_IMPORTS "${ITK_WRAP_PYTHON_LIBRARY_IMPORTS}from itk.${module}Python import *\n")
630+
set(ITK_WRAP_PYTHON_LIBRARY_IMPORTS "${ITK_WRAP_PYTHON_LIBRARY_IMPORTS}from itk.${submodule}Python import *\n")
631631

632632
endmacro()
633633

Wrapping/Generators/Python/PyBase/pyBase.i

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
%module(package="itk") pyBasePython
22

3+
%pythonbegin %{
4+
from . import _ITKPyBasePython
5+
%}
6+
37
%include <exception.i>
48
%include <typemaps.i>
59

0 commit comments

Comments
 (0)