wincom32.client.Dispatch не работает после обновления до Python 3.8 - PullRequest
0 голосов
/ 05 мая 2020

Я только что обновился до Python 3.8.2. После обновления я переустановил несколько пакетов, которые часто использую

python -m pip install --upgrade pip
pip install -U wxPython
pip install pywin32
pip install python-vlc
pip install PyAutoIt

. Теперь я обнаружил, что больше не могу создавать COM-объекты. Минимальный пример:

import win32com.client
aut = win32com.client.Dispatch("AutoItX3.Control")

Это приводит к

Traceback (most recent call last):
  File "C:\Python\lib\site-packages\win32com\client\dynamic.py", line 89, in _GetGoodDispatch
    IDispatch = pythoncom.connect(IDispatch)
pywintypes.com_error: (-2147221021, 'Operation unavailable', None, None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\testwin32.py", line 2, in <module>
    aut = win32com.client.Dispatch("AutoItX3.Control")
  File "C:\Python\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "C:\Python\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "C:\Python\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221164, 'Class not registered', None, None)

Это проблема с Python 3.8.2, win32com, или мне нужно что-то повторно инициализировать?

1 Ответ

1 голос
/ 08 мая 2020

Нашел проблему. Когда я установил Python 3.8.2, я взял 32-битную версию. Я переустановил, используя 64-битную версию, и проблема исчезла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...