pywin32 build 219 имеет проблему в том, что он ищет 32-битное место установки python 3.5 в неправильном разделе реестра.Эта проблема исправлена в более поздних сборках pywin32 - 220 и 221 - те, которые я пробовал - и они правильно находят место установки python в реестре.Вы можете увидеть билет pywin32 здесь .
Если вам нужна сборка 219, то вы можете временно переименовать запись в реестре.
Я устанавливаю python для всех пользователей на моем ПК, поэтому записи реестра на моем компьютере находятся в HKEY_LOCAL_MACHINE
.Если вы устанавливаете python для каждого пользователя, записи реестра будут в HKEY_CURRENT_USER
.Кроме того, мой COM-объект является 32-разрядным, поэтому мы используем 32-разрядный Python.
32-битные записи реестра Python будут расположены по адресу: \SOFTWARE\Wow6432Node\Python\PythonCore
.
64-битные записи реестра Python будут расположены по адресу: \SOFTWARE\Python\PythonCore
.
В моем случае у меня было две записи, которые нужно было временно переименовать:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5-32
Место установки Python находится в ключе InstallPath
, который на моем компьютере:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5-32\InstallPath
Моя папка \PythonCore\3.5
имеет только ключ \Help\Pythonwin Reference
, который дублируется в папке \PythonCore\3.5-32
, поэтому я думаю, что этот ключ оставлен после предыдущей установки и более не актуален.Однако я не решил удалить его и временно переименовал оба из них следующим образом:
С:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5
Кому:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5-temp
С:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5-32
Кому:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5
Когда установка pywin32 build 219 была завершена, я вернул ключи к исходным именам.