0

Mac に lxml をインストールしてコードで使用しようとすると、tostring と tounicode のインポートでエラーが発生します。Pythonはそれをまったく見ることができません。私が間違っていることはありますか?

問題を引き起こしているコードは次のとおりです-

from lxml.etree import tostring
from lxml.etree import tounicode

未解決のインポート エラーが表示される

また、私の IDE (Eclipse) は、lxml.etree モジュールのinit .py ファイルを見ることができます。これがそれが見るものです---

# this is a package

def get_include():
    """
    Returns a list of header include paths (for lxml itself, libxml2
    and libxslt) needed to compile C code against lxml if it was built
    with statically linked libraries.
    """
    import os
    lxml_path = __path__[0]
    include_path = os.path.join(lxml_path, 'includes')
    includes = [include_path, lxml_path]

    for name in os.listdir(include_path):
        path = os.path.join(include_path, name)
        if os.path.isdir(path):
            includes.append(path)

    return includes

助けてくれてありがとう。

編集:
私が見る唯一のログは Unresolved import: tostring Unresolved import: tounicode です

そして、tostring のインポートの前に次の行を追加すると、エラーは発生しません - lxml から etree をインポートします

また、私がやろうとしていることについて、もう少し背景を説明します。ここ ( https://github.com/buriy/python-readability )から可読性コードを取得し、プロジェクトで使用しようとしました。

EDIT2: 問題を修正しましたが、まだ理由がわかりません。easy_install を使用してパッケージをインストールせずに、可読性プロジェクトのコードを直接使用したかったのです。アイデアは、コードに足を踏み入れることで、それが何をしているのかを理解することでした。しかし、コードをプロジェクトにコピーすると、可読性コードで上記のエラーが発生します。easy_install を使用してパッケージをインストールすると、可読性によってエクスポートされたクラスをインポートして使用することができます。

それでは、コードを直接使用することとパッケージをインストールすることの違いを教えてください。.egg ファイルとは何ですか? 作成方法は?

4

2 に答える 2

1

lxml のコードでは、モジュールを動的にロードします。IDEは生のコードを分析するだけなので、IDEは参照を分析できません。

于 2017-09-08T04:00:25.247 に答える