pywin32无法使用PTVS

时间:2014-08-27 22:08:48

标签: python-2.7 pywin32 canopy ptvs

我一直在玩PTVS 2.1 Beta 2和Visual Studio Express 2013并升级3.我喜欢PTVS中的很多功能,所以我很高兴尝试一下。到目前为止还可以,但我有一个主要且令人困惑的问题。

我正在运行Enthought Canopy Express 32位。

我依赖pywin32库来连接com对象。当我尝试运行一些使用pywin32到PTVS的代码时,它失败了。我的代码中失败的行是:

from win32com.client import *

这是错误:

   File "C:\Users\[username]\AppData\Local\Enthought\Canopy32\User\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.

奇怪的是,如果我只是在visual studio之外启动一个解释器窗口(C:\ Users [用户名] \ AppData \ Local \ Enthought \ Canopy32 \ User \ python.exe),那么相同的代码就可以了。

我首先比较了两种方法之间的sys.path,它们是相同的。

在我看来,win32api.pyd文件无法加载它所依赖的一些dll。我在依赖walker中打开了win32api.pyd,除了一些深度嵌套的后期加载依赖项之外,MSVCR90.DLL是唯一无法找到的东西。

我尝试将其从matplotlib \ backends文件夹复制到与win32api.pyd相同的文件夹,但它没有帮助。 MSVCR90.DLL不在windows \ system或windows \ sysWOW64中。

我很乐意使用PTVS作为我的goto,但如果我无法使用它,我就会陷入困境。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。另一个VS 2013 for web的安装干扰了一些方法。我没有安装它,问题就消失了。