2017-04-07 16 views
4

個人プロジェクトで初めてlxmlとpythonを試していて、初めてstrip tags from a bit of source code using etree.strip_tags()を試しています。Pylintエラーメッセージ: "E1101:Module 'lxml.etree'に 'strip_tags' member 'がありません"

何らかの理由で、エラーメッセージ "E1101:Module 'lxml.etree'に 'strip_tags' member 'がありません。

なぜこれが起こっているのか分かりません。

ここに私のコードの関連部分です:

from lxml import etree 

... 

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

任意のアイデア?

ありがとうございました。

+0

あなたが処理しているもののページを教えすることはできますか? –

+0

@BillBellこれは、フォーマットされたテキストを表示するためにhtmlをネイティブに使用するランダムなプログラムから作成したローカルのhtmlファイルです。プログラムからコピーして貼り付け、htmlとして保存しました。マークアップは面倒で過度なので、私はこのスクリプトをPythonで書いてそれを整理しています。 –

+0

**明確にする:** スクリプトは動作しています。私は関数の実行でいくつかの間違いを犯しましたが、私はそれらを修正し、このエラーメッセージとは別です。コードが正常に機能していても、エラーメッセージが表示されます。本当に奇妙です。 –

答えて

9

この理由は、pylintがデフォルトでonly trusts C extensions from the standard libraryであり、そうでないものを無視するためです。

lxmlはstdlibの一部ではないため、手動でホワイトリストに登録する必要があります。これを行うには、ターミナルでプロジェクトのディレクトリに移動し、pylintのためのrcfile生成:次に

$ pylint --generate-rcfile > .pylintrc 

を、そのファイルを開いて、そのようにホワイトリストにlxmlのを追加します。

extension-pkg-whitelist=lxml 

その後、lxmlに関するすべてのE1101エラーは消滅するはずです。

More details in this answer.

関連する問題