Как вы отлаживаете интеграцию win32 com с Python? - PullRequest
2 голосов
/ 27 сентября 2011

Я пытаюсь вызвать API преобразования текста в речь из Python, используя win32com.client. Интерпретатор Python входит в состав Splunk, и я могу вызвать его вручную, используя « splunk cmd python ».

Вот образец

from win32com.client import constants
import win32com.client
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak('this is a test')

Мой код вызывается через процесс splunkd (работает как обычный пользователь Windows), и я получаю следующее сообщение об ошибке.

(- 2147352567, «Произошло исключение.», (0, Нет, Нет, Нет, 0, -2147200925), Нет)

Я изо всех сил пытаюсь устранить проблему, есть предложения?

Связанная версия Python Python 2.6.4 (r264: 75706, 7 февраля 2011 г., 14:20:39) [MSC v.1400 64 бит (AMD64)]

Кросс-пост от Splunk Ответы http://splunk -base.splunk.com / ответов / 31181 / отладка-заказ поиск-команда

== обновить == Я отследил проблему до процесса запуска интерпретатора Python. По какой-то причине процессы портятся с окружающей средой таким образом, что интерпретатор Python ведет себя по-разному. Я подозреваю, что ошибка win32 на самом деле нарушение доступа.

1 Ответ

0 голосов
/ 15 ноября 2011

Приложение запускается, как и ожидалось, при запуске от имени обычного пользователя. Родительский процесс работает как система, которая не может вызвать TTS.

...