首页 > 解决方案 > Python 包装器不工作:swig_import_helper() 错误

问题描述

这与在 Dlang 中读取 Dicom 文件有关

我正在为 Imebra 尝试 Python 包装器,如上面的帖子所示。

Python_wrapper.so 由以下命令创建:

$ g++ -shared -o python_wrapper.so -fPIC -I../../library/include/ -I/usr/include/python3.5m -L../../build -limebra python_wrapper.cxx 

我尝试使用以下简单的 python 文件加载它:

import sys
sys.path.append('../../build')
from imebra import *            # does not work;  
# import imebra                 # also does not work; 

但我收到以下错误:

$ python3 rnImebra.py 
Traceback (most recent call last):
  File "..../0-Imebra-dicom/wrappers/pythonWrapper/imebra.py", line 14, in swig_import_helper
    return importlib.import_module(mname)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked
ImportError: No module named '_imebra'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "rnImebra.py", line 5, in <module>
    import imebra                               #  also does not work; 
  File "..../0-Imebra-dicom/wrappers/pythonWrapper/imebra.py", line 17, in <module>
    _imebra = swig_import_helper()
  File "..../0-Imebra-dicom/wrappers/pythonWrapper/imebra.py", line 16, in swig_import_helper
    return importlib.import_module('_imebra')
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_imebra'

问题出在哪里,如何解决?

标签: pythonswigimebra

解决方案


下载源分发后,只需按照用户手册中的说明安装 python 库。

cd imebra
python setup.py install

或者

cd imebra
python setup.py install --user

推荐阅读