win32com 导入错误 Python 3.4
我刚刚安装了64位的Python 3.4,并尝试安装win32com。我下载了pywin32-218.win-amd64-py3.4.exe,并顺利运行了它。用pip freeze命令查看,显示pywin32==218。但是,当我尝试导入win32com.client时,出现了以下错误:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
import win32com.client
File "C:\program files\Python34\lib\site-packages\win32com\__init__.py", line 5, in <module>
import win32api, sys, os
ImportError: DLL load failed: The specified module could not be found.
sys和os可以正常导入,但导入win32api时就出问题了。
用同样的方法在Python 2.7.6和Python 3.3.4上都能正常工作。
我该怎么解决这个问题呢?
3 个回答
1
我在Windows 7上也运行着64位的Python 3.4,遇到了同样的问题。
我按照这个Stack Overflow的回答解决了这个问题。简单来说,我把存放pywintypes34.dll
的路径添加到了我的系统路径中,然后就好了。
在我的情况下,那个路径是C:\Python34\Lib\site-packages\pywin32_system32。这个路径下必须有两个DLL文件:“pythoncom34.dll”和“pywintypes34.dll”。
8
我把
pywintypes26.dll
和pythoncom26.dll
这两个文件复制到c:\Python26\Lib\site-packages\win32
这个文件夹里,问题就解决了!
引用自 这里
30
在Python 3.3中,这个方法可以直接使用,不需要复制DLL文件。
为什么在2.6版本中就需要复制这些文件呢?这不是应该早就解决了吗!
经过一些额外的研究,我发现其实只要以管理员身份运行安装后的脚本就可以了。
python C:\Python34\Scripts\pywin32_postinstall.py -install
看起来安装脚本没有正确执行这个步骤。