Python win32com.client和dynamic.py语法错误

时间:2017-08-30 14:40:02

标签: python win32com

我正在使用我们正在使用的Python脚本在团队中遇到一个奇怪的错误。用户A遇到计算机问题并需要重新映像。他们登录用户B的机器,在此期间执行一些工作。使用用户B的计算机后,用户B在运行我们的python脚本时出现以下错误:

Traceback (most recent call last):
  File "C:\Scripts\script.py", line 10, in <module>
    import win32com.client as win32
  File "C:\Users\%USER%\AppData\Local\Programs\Python\Python35-32\lib\site-packages\win32com\client\__init.py__", line 10, in <module>
    from . import dynamic
  File "C:\Users\%USER%\AppData\Local\Programs\Python\Python35-32\lib\site-packages\win32com\client\dynamic.py", line 557
    try.dispid, 0, invoke_type, 0, value)
       ^

SyntaxError: invalid syntax

用户重新安装了python和pip,为我们的环境安装了必要的软件包,但仍然遇到了问题。相对于此,win32com的dynamic.py中的行是:

 557    if attr in self._olerepr_.propMapPut:
 558         entry = self._olerepr_.propMapPut[attr]
 559         invoke_type = _GetDescInvokeType(entry, pythoncom.INVOKE_PROPERTYPUT)
 560         self._oleobj_.Invoke(entry.dispid, 0, invoke_type, 0, value)
 561         return

我无法确定漫游配置文件中的哪些差异导致主用户的python文件将entry.dispid读为无效语法,尤其是在重新安装文件之后。

0 个答案:

没有答案