1

私のシステムでは、Pythonのlxmlパッケージが完全に壊れているようです。すべてのファイルが配置されているように見えるので、問題はわかりません。私の疑いでは、問題は にあり__init__.pyますが、正確な診断を行ったり、問題を修正したりするのに十分なシステムの練習がありません。

問題の診断に役立つと思われるコードを次に示します。

Python 2.6.4 (r264:75706, Dec  7 2009, 18:45:15) 
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import lxml
>>> dir(lxml)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']
>>> print lxml.__path__
['/usr/lib/python2.6/dist-packages/lxml']
>>> c = open("/usr/lib/python2.6/dist-packages/lxml/__init__.py", "r")
>>> for line in c:
...     print line
... 
# this is a package



>>> c.close()
>>> import os
>>> os.system("ls /usr/lib/python2.6/dist-packages/lxml/")
builder.py      ElementInclude.py   __init__.py    sax.pyc
builder.pyc     ElementInclude.pyc  __init__.pyc       usedoctest.py
cssselect.py        _elementpath.py objectify.so       usedoctest.pyc
cssselect.pyc       _elementpath.pyc    pyclasslookup.py
doctestcompare.py   etree.so        pyclasslookup.pyc
doctestcompare.pyc  html        sax.py
0
>>> 

私が言ったように、私の疑いはそれ__init__.pyが問題を含んでいるということですが、私は 100% 確実ではありません.

また、Ubuntu 9.10 とほぼ同等の Linux Mint 8 を使用しています。

前もって感謝します。

4

3 に答える 3

10

いいえ、あなたはそれを間違っているだけです!たとえば、 を試してみてください。十分 from lxml import etreeに使用できるはずです。--パッケージをインポートしています! --パッケージのモジュールへの暗黙的なアクセスは許可しませ!-)etreeimport lxml

于 2010-01-29T03:27:03.567 に答える
1

すべての lxml コードはサブパッケージにあると思います。試す

from lxml import etree
于 2010-01-29T03:26:23.477 に答える
1

__init__.pyファイルに何も含まれていないのは完全に正常です: http://docs.python.org/tutorial/modules.html#packages

このファイルは、Python にそれがパッケージであり、多数のモジュールを含む単なるディレクトリではないことを知らせるためのものです。

パッケージ内のモジュールを直接インポートするだけです。

from lxml import etree, html

等...

于 2010-01-29T03:26:43.193 に答える