我正在尝试在Windows(10,x64)上安装GDCM,以便可以将GDCM软件包与Python 3.6.5结合使用,并且发现它完全不可能。
我尝试了以下所有组合:
我能得到的最好的办法是将上述文件复制到站点包中,这使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上完全相同的安装程序。
在以下位置提到的解决方案: how to install gdcm python wrapping on Windows System?对我不起作用。
最后,无论PATH,PYTHONPATH或PYTHONHOME中有什么内容,我都无法通过python从Program Files / GDCM 2.8 / bin中检测到程序包;我不知道这是否正常。
我为此花了几个小时,无济于事;任何帮助都将不胜感激。
答案 0 :(得分:2)
对于后代:
对我来说,问题似乎确实在于官方提供的二进制文件是针对Python 3.4编译的;我不知道this person是如何在Python 3.6上运行相同的安装程序的。
解决方案是自己构建软件包二进制文件;没有“一键式”解决方案。对于我在解决此问题时费心费力的冒险,请参阅:https://motivatedbylaziness.wordpress.com/2018/07/06/the-impossible-journey-of-a-simple-task/