我有一个同事开发的Python项目,其中win32com用于控制应用程序:Vector中的CANoe
当他从PyCharm(2019.2.5)运行*.py脚本时,一切正常,如果他使用auto py to exe将python脚本转换为*.exe,然后他执行*.exe,一切正常,在这两种情况下,脚本都工作得非常好
现在的问题是:如果我试图运行PyCharm(2020.1.2)中的*.py脚本,模块win32com将引发异常:
raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr))
AttributeError: '<win32com.gen_py.CANoe 11.0 Type Library.ITestEnvironment instance at 0x2039251561776>' object has no attribute 'TestModules'
从我检查的内容来看,COM库有2个dispinterface:ITestEnvironment和ITestEnvironment2,只有ITestEnvironment2具有属性TestModules,在我的例子中,脚本似乎没有考虑正确的接口
如果我使用auto-py-to-exe将python脚本转换为*.exe,然后执行*.exe,那么一切都可以正常工作。如果他将脚本转换为*.exe,然后我在我的电脑上运行它,或者我将脚本本地转换为*.exe,然后在我的电脑上运行它,在这两种情况下,脚本的输出是相同的
我试过:
在所有情况下,结果都是一样的
我使用的Python版本与他使用的相同:Py3.6.7
有人知道为什么win32com从*.exe或*.py运行时有不同的行为,以及为什么它在不同的PC上有不同的行为吗
目前没有回答
相关问题 更多 >
编程相关推荐