PyDev / Eclipse не жалуются, если объект класса не существует - PullRequest
0 голосов
/ 08 января 2019

У меня есть python lib.py, содержащий класс

class myClass():
    myVar = 1
    def myFunc(self):
        return 0

В Eclipse / PyDev я импортирую этот пакет

import lib

a = lib.myClass
b = a.myFunc()
c = a.myVar
d = lib.otherClass  # complains
e = lib.myClass.otherVar  # does not complain

Я бы хотел, чтобы PyDev жаловался на анализ кода, когда объект класса не существует, но его нет. Нет проблем с импортом, так как я вижу объект класса и функцию с завершением кода, и он распознает lib.myClass при наведении.

1 Ответ

0 голосов
/ 28 января 2019

это ожидаемо ... некоторые проверки, которые имеют более высокое число ложных срабатываний или медленнее вычисляются, не добавляются преднамеренно (в этом случае эта конкретная проверка имеет высокое число ложных срабатываний из-за динамического характера Python и ограничения, присущие статическому анализу кода Python).

Теперь, сказав это, я полагаю, что PyLint (https://www.pylint.org/) делает это, и PyDev действительно хорошо интегрируется с PyLint. Если вам интересно, смотрите: http://www.pydev.org/manual_adv_pylint.html для деталей об использовании PyLint с PyDev .

...