2013-06-21 3 views
1

Я изучаю многопоточность в Python. Я проходил примеры онлайн и тестировал многопоточность для моего модуля WMI, который дистанционно соединяется с удаленной машиной. Но, когда я использую pythoncom.CoInitialize(), это дает мне ошибку, говоря, что 'CoInitialize is an undefined variable'. Я не могу понять, что не так.CoInitialize() не определено - ошибка Python

Любая помощь будет очень ценна

+3

Какая у вас ошибка? Это ошибка времени выполнения или ошибка среды разработки? –

+0

- это не ошибка времени выполнения. По-видимому, я использую Aptana IDE, и как только я использую pythoncom.CoInitialize(), он бросает мне эту ошибку «Неопределенная переменная из импорта: CoInitialize». Но когда я пытаюсь сделать то же самое через командную строку, это не так. Я не уверен, чего здесь не хватает. – gauravhalbe

ответ

1

Проблема решена. Pythoncom был включен в мои библиотеки поддержки, но, будучи расширением C, моя среда PyDev не смогла получить CoInitialize в качестве глобальной переменной. Поэтому я явно добавил CoInitialize через:

Window-> Настройки-> PyDev-> editor-> Анализ кода

Здесь на вкладке «Неопределенные» (с CoInitialize подходило, как неопределенную ошибку в PyDev) добавить CoInitialize (разделенные запятой).

Теперь перезапустите Aptana. Ошибка исчезла, и все работает отлично!

0

Это, скорее всего, из-за Aptana IDE не узнавая CoInitialize, как это расширение C, а не метод, определенный в .py источнике.

PyDev позволяет настроить, какие встроенные модули загружены. Для получения дополнительной информации см. Forced Builtins in the manual. Учитывая, что Aptana использует PyDev внутренне для поддержки Python, вы должны настроить это, чтобы включить pythoncom и устранить эту ошибку.

+0

Я думал, что это может быть проблемой изначально, но я уже настроил интерпретатор python (python 2.7) в Aptana. Также я попытался импортировать _ctypes (import _ctypes) в свой проект, и это не дает мне никакой ошибки (предполагая, что это расширение C). – gauravhalbe

+0

Дополнение: Я могу импортировать pythoncom, а также – gauravhalbe

+0

@ user2150258 Это отдельно от возможности импорта - это то, что IDE использует для синтаксического анализа встроенных ... –