Как игнорировать определенные неопределенные переменные в Eclipse Pydev - PullRequest
6 голосов
/ 06 мая 2010

Я пишу кроссплатформенный скрипт Python для Windows, используя Eclipse с плагином Pydev. Скрипт использует методы os.symlink() и os.readlink(), если текущая платформа не NT.

Поскольку методы os.symlink() и os.readlink() недоступны на платформе Windows, Pydev помечает их как неопределенные переменные - например, так:

eclipse_undef_variable

Question:

Is there a way to ignore specific undefined variable name errors without modifying my source file?

edit: I found a way to ignore undefined variable errors from этот ответ на стеке потока.
Я оставлю вопрос открытым, если есть способ решить это, используя файл проекта или настройку Pydev.

Ответы [ 3 ]

3 голосов
/ 06 мая 2010

Я использую pydev + pylint.

С помощью pylint вы можете добавить, какие сообщения игнорировать, в разделе «Предпочтения»> «Pydev»> «Pylint»> «Aggruments для передачи на pylint».

--disable-msg=W0232,F0401

Вы можете игнорировать сообщения как в строке, так и с комментариями:

os.symlink(target, symlink) # IGNORE:<MessageID> 

Наведите курсор мыши на «x», где номера строк, чтобы увидеть идентификатор сообщения.

1 голос
/ 06 мая 2010

Я подозреваю, что у pydev могут быть лучшие, конкретные решения, но как насчет простого размещения некоторого кода в начале вашей программы, такого как:

if not hasattr(os, 'symlink'): os.symlink = None

Да, это взлом, но, если только pydev имеет специальные решения (к сожалению, я не знаю ни одного, но тогда я не эксперт по pydev ;-), может быть лучше, чем ничего ...

0 голосов
/ 16 августа 2013

Я заметил, что PyDev не распознает константы ZeroMQ, поэтому я боролся с той же проблемой.

Я обнаружил, что PyDev имеет параметр настроек в Preferences > PyDev > Code Editor > Code Analysis: Undefined -tab. Просто напишите symlink и readlink там (через запятую), чтобы удалить ошибки.

Все еще не оптимально, но пока достаточно.

...