我正在尝试在 Windows(10、x64)上安装 GDCM,以便可以将 GDCM 包与 Python 3.6.5 一起使用,但我发现这完全不可能。
我尝试了以下每种组合:
- 安装 GDCM-2.8.7-Windows-x86_64, GDCM-2.8.7-Windows-x86.exe, GDCM-2.8.4-Windows-x86.exe (当然要分开安装)
- 添加到 PYTHONPATH:C:\Program Files\Python36; C:\Program Files\Python36\Lib; C:\Program Files\Python36\DLLs; C:\Program Files\Python36\Scripts; C:\程序文件\GDCM 2.8; C:\Program Files\GDCM 2.8\lib; C:\Program Files\GDCM 2.8\bin; C:\Program Files\GDCM 2.8\include; C:\Program Files\GDCM 2.8\(甚至 PYTHONHOME)
- 将文件 gdcm.py、gdcmswig.py 和 _gdcmswig.pyd 复制到站点包和 DLL 中
我能得到的最好的是将上述文件复制到站点包,这允许 python 检测 gdcm 包(当从站点包中删除文件时它什么也没检测到),但返回错误:
>>> import gdcm
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files\Python36\lib\site-packages\gdcm.py", line 68, in
<module>
from gdcmswig import *
File "C:\Program Files\Python36\lib\site-packages\gdcmswig.py", line 20, in
<module>
_gdcmswig = swig_import_helper()
File "C:\Program Files\Python36\lib\site-packages\gdcmswig.py", line 19, in
swig_import_helper
return importlib.import_module(mname)
File "C:\Program Files\Python36\lib\importlib\__init__.py", line 126, in
import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: DLL load failed: The specified module could not be found.
安装 _x86 版本会返回错误“%1 不是有效的 Win32 应用程序”。
我下载了dependencyWalker来分析_gdcmswig.pyd,但从中我无法理解太多。问题不是 MSVCP100.dll,因为我安装了 vc_redist_x64。它确实提到了 Python34.dll,但下面的答案得到了在 Python 3.6 上运行的完全相同的安装程序。
提到的解决方案: 如何在 Windows 系统上安装 gdcm python wrapping?对我不起作用。
最后,无论 PATH、PYTHONPATH 或 PYTHONHOME 中有什么,我都无法让 python 从 Program Files/GDCM 2.8/bin 中检测包;我不知道这是否正常。
我花了几个小时在这上面,但无济于事;任何帮助是极大的赞赏。