问题1
在pycharm中通过win32com.client.dispatch()调用com组件时候,报错:pywintypes.com_error: (-2147221164, ‘Class not registered’, None, None).
pywintypes.com_error: (-2147221164, ‘类未加载’, None, None).
这个时候需要考虑下版本问题,如果你在命令提示符中已经显示:成功注册了类型,但是在python这又找不到,说明两个供求关系出错了
检测
在cmd中python
[MSC v.1916 64 bit (AMD64)] 这部分告诉我们Python是用Microsoft的编译器(MSC)版本1916编译的,并且是为64位AMD64架构编译的。
on win32 表示这个Python版本是为Windows操作系统(具体来说是32位的Windows,但这并不意味着它不能在64位Windows上运行)编译的。
这个意思是他是运行在32位操作系统(也兼容64位运行环境),来操作64位dll
如果我们的dll是64位需要一个这样的python解释器
(我原来的是MSC v.1916 32 bit (intel)] on win32,而dll是生成的64位,需要重新生成)
问题2
regasm error ra0000 系统为您加载文件或程序集“Thrift,version=” 或他的某一个依赖项,系统找不到指定文件
你会感觉我的工程文件下已经有了thrift.dll了,怎么就找不到呢,这是由于vs的寻找路径问题
我的64位时候是在bin里面的对应的文件中加上thrift.dll
而32为时候是在obj里面对应文件夹加thrift.dll