8 Stimmen

Unterdrücken von Warnungen in PyDev

Ich verwende folgendes am Anfang aller Module in meinem Python-Projekt:

import setup_loggers

setup_loggers ist ein Modul, das genau das macht. Die import-Anweisung stellt sicher, dass unabhängig davon, welches Modul zuerst geladen wird, die Logger eingerichtet und bereit sind.

Da ich jedoch das Modul setup_loggers später in der Datei nicht verwende, erhalte ich eine PyDev-Warnung (einen kleinen gelben Marker). Ich erhalte diese Warnung für alle meine Module, was mich daran hindert, andere Warnungen im PyDev-Paket-Explorer zu sehen.

Gibt es eine Möglichkeit, die Warnung für eine bestimmte Zeile (die import-Zeile oben) in PyDev zu unterdrücken?
Irgendwelche anderen Ideen, wie man diese Ärgernis überwinden kann?

29voto

Fabio Zadrozny Punkte 24186

In PyDev, wann immer es einen Fehler in einer Zeile gibt, können Sie Strg+1 drücken und es wird eine Option anzeigen, um diese Warnung in dieser Zeile zu ignorieren (in diesem Fall wird ein Kommentar hinzugefügt: #@UnusedImport - den Sie manuell hinzufügen könnten - in dieser Zeile und dieser Fehler/Warnung wird ignoriert).

Nun, zu einer besseren Strategie für Sie (damit Sie dieses Modul nicht überall importieren müssen): In Python werden beim Import eines Pakets zuerst die übergeordneten Elemente importiert.

D.h.:

/my_project
/my_project/__init__.py
/my_project/submodule.py
/my_project/package
/my_project/package/__init__.py

Wenn Sie das my_project.submodule oder my_project.package importieren, muss es zuerst den Code in /my_project/__init__.py importieren (und ausführen).

Also wäre eine bessere Strategie für Sie nur, diesen Import zur /my_project/__init__.py hinzuzufügen (und immer wenn ein Unterpaket importiert wird, wären die Logger bereits eingerichtet).

Es würde einfach nicht funktionieren, wenn Sie eine Sammlung von Dateien haben, die im PYTHONPATH-Stammverzeichnis verstreut sind und in der Datei, die Sie als Ihr __main__ ausführen (da es diese Datei nicht importieren wird, sondern nur deren Inhalt abrufen und ausführen - aber immer wenn diese Datei etwas aus /my_project importiert, würden die Dinge eingerichtet).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X