Скажите pydev, чтобы исключить весь пакет из анализа? - PullRequest
4 голосов
/ 31 августа 2010

Сегодня я выполняю миссию по удалению маленьких красных X из моего проекта django в pydev.В основном это связано с исправлением проблем с импортом с помощью pydev.

Я использую Юг для миграции баз данных.Юг (если вы не знаете) генерирует модули Python, а pydev не любит их.Я не хочу редактировать южный код, так как он сгенерирован.

Есть ли способ дать команду pydev исключить определенные пакеты из анализа?Что-то вроде #@UndefinedVariable, кроме всего модуля?В идеале я хотел бы игнорировать пакеты с именем «миграции».

Ответы [ 3 ]

5 голосов
/ 31 августа 2010

На юге я добавил "# @ PydevCodeAnalysisIgnore" к шаблонам в south/management/datamigration.py и south/management/schemamigration.py. Это не позволяет мне игнорировать целые пакеты, но служит моим целям достаточно хорошо.

1 голос
/ 24 февраля 2017

Да, вы можете поставить #@PydevCodeAnalysisIgnore в начале каждого файла, который вы хотите игнорировать, но это означает, что вы кодируете для своей IDE, что не является лучшей практикой. Вместо этого я предпочитаю изменить настройки своего проекта, чтобы

  1. Eclipse игнорирует некоторые проблемные шаблоны (добавляя в Настройки -> PyDev -> Редактор -> Анализ кода -> Не определено )
  2. Eclipse игнорирует некоторые проблемные файлы (добавив исключающий фильтр в Свойства проекта -> Ресурс -> Фильтры ресурсов -> Добавить фильтр ... )

В вашем конкретном случае у меня возникла та же проблема, и я решил исключить южные миграции из проекта Eclipse. В тех случаях, когда мне нужно было редактировать эти автоматически сгенерированные файлы, я не использовал Eclipse.

UPDATE: Еще один вариант - щелкнуть правой кнопкой мыши по вашему проекту и выбрать PyDev -> Удалить маркеры ошибок - но не делайте этого, если есть ошибки, которые вы не хотите скрывать!

1 голос
/ 19 июля 2013

У меня много сгенерированного кода. Чтобы избежать жалоб PyDev, я постобработаю эти модули следующим образом (скрипт bash):

for file in `find gen -name '*.py'`; do
    mv $file $file.bak
    echo '#@PydevCodeAnalysisIgnore' > $file
    cat $file.bak >> $file
    rm $file.bak
done
...