我一直在玩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,但如果我无法使用它,我就会陷入困境。任何帮助将不胜感激!
答案 0 :(得分:0)
我解决了这个问题。另一个VS 2013 for web的安装干扰了一些方法。我没有安装它,问题就消失了。