2017-04-07 2 views
4

Ich experimentiere mit lxml und Python zum ersten Mal für ein persönliches Projekt, und ich versuche strip tags from a bit of source code using etree.strip_tags().Pylint Fehlermeldung: "E1101: Modul 'lxml.etree' hat keine 'strip_tags' Mitglied '"

Aus irgendeinem Grund bekomme ich immer die Fehlermeldung: "E1101: Modul 'lxml.etree' hat keine 'strip_tags' Mitglied '".

Ich bin mir nicht sicher, warum das passiert.

Hier ist der relevante Teil meines Codes:

from lxml import etree 

... 

DOC = etree.strip_tags(DOC_URL, 'html') 
print DOC 

Irgendwelche Ideen?

Danke.

+0

Können Sie uns sagen, welche Seite Sie verarbeiten? –

+0

@BillBell Es ist eine lokale HTML-Datei, die ich aus einem zufälligen Programm erstellt habe, das HTML nativ verwendet, um formatierten Text anzuzeigen. Ich kopierte und klebte aus dem Programm und speicherte es als HTML. Das Markup ist sehr unordentlich und übertrieben, also schreibe ich dieses Skript in Python, um es zu bereinigen. –

+0

** Zur Verdeutlichung: ** Das Skript funktioniert. Ich habe einige Fehler bei der Ausführung der Funktion gemacht, aber ich habe sie behoben und sie sind von dieser Fehlermeldung getrennt. Auch wenn der Code funktioniert, bleibt die Fehlermeldung bestehen. Wirklich seltsam. –

Antwort

9

Der Grund dafür ist, dass pylint standardmäßig only trusts C extensions from the standard library und ignorieren diejenigen, die nicht sind.

Da lxml nicht Teil von stdlib ist, müssen Sie es manuell auf die weiße Liste setzen. Dazu wechseln Sie in das Verzeichnis Ihres Projekts in einem Terminal, und erzeugen eine RC-Datei für Pylint:

$ pylint --generate-rcfile > .pylintrc 

Dann öffnen Sie die Datei und fügen Sie lxml zur weißen Liste wie folgt:

extension-pkg-whitelist=lxml 

Danach sollten alle E1101-Fehler bezüglich lxml verschwinden.

More details in this answer.

Verwandte Themen