2014-03-18 67 views
10

我刚刚安装了python 3.4 64bit并试图安装win32com。我已经下载了pywin32-218.win-amd64-py3.4.exe并且没有任何问题地运行它。点击冻结报告pywin32 == 218。但是,当我尝试导入win32com.client时,出现以下错误:win32com导入错误python 3.4

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。

我该如何解决这个问题?

+0

如果有其他人有这个问题,请参阅http://stackoverflow.com/questions/7238403/import-win32api-error-in-python-2-6(和更改26至34) – foosion

回答

8

After I copied pywintypes26.dll and pythoncom26.dll to c:\Python26\Lib\site-packages\win32 I solved the problem!

here

+1

看起来像我们发现那在同一时间。我想知道为什么pywin安装程序不这样做。 – foosion

+0

@foosion这可能只是不安全或某事,虽然我不太确定。 – TankorSmash

+2

这听起来不对 - 它应该开箱即用 – foosion

25

引述这个工作,而不需要在Python 3.3复制的DLL。

为什么这些需要像2.6一样复制?当然这应该由现在修复!

经过一些额外的研究,我发现你所需要做的就是以管理员身份运行安装后脚本。

python C:\Python34\Scripts\pywin32_postinstall.py -install 

看来安装脚本没有正确执行此步骤。

+5

我不得不运行'python C:\ Python34 \ Scripts \ pywin32_postinstall.py -install' –

+1

我有这个问题,但我没有那个脚本。我在哪里可以得到它? – cdarke

+0

安装Python 3.4后应该在那里。再次安装(删除python后)或安装在另一台机器上,并在那里检查。 –

1

我也在Windows 7中运行python 3.4 64位,并且我遇到了同样的问题。

我按照this Stack Overflow answer的建议解决了它。基本上,我将pywintypes34.dll所在的路径添加到我的系统路径并且工作正常。

在我的情况下,它是C:\ Python34 \ Lib \ site-packages \ pywin32_system32。在路径中必须有2个DLL“pythoncom34.dll”,“pywintypes34.dll”。