2010-01-29 8 views
1

lxml Python 용 패키지가 내 시스템에서 절대적으로 고장난 것 같습니다. 모든 파일이 제 위치에 있기 때문에 문제가 확실하지 않습니다. 내 의심은 문제가 __init__.py에 있다는 것입니다.하지만 정확한 진단을 내리고 문제를 해결하기 위해 시스템에 대한 충분한 연습이 없습니다. 여기 lxml에는 본질적으로 아무 것도 없습니다

내가 문제를 진단하는 데 도움이됩니다 생각하는 일부 코드입니다 : 내가 말했듯이

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 % 확실하지 않다.

또한 Linux Mint 8 - 우분투 9.10의 대략적인 기능을 사용하고 있습니다.

미리 감사드립니다.

+0

다음 안내는 어디에서 제공됩니까? 사용중인 문서에 대한 링크를 제공하여 작동 방식을 확인할 수 있습니까? –

답변

10

아니, 당신은 잘못하고있어! 예를 들어 from lxml import etree과 같이 시도하면 etree을 완전히 사용할 수 있습니다. import lxml - 패키지을 가져 오십시오! - 이 아닙니까은 패키지 모듈! -)에 암시 적으로 액세스 할 수 있습니다! -)

+0

아하 - 거기에 문지름이 있습니다. 감사. – Reid

1

모든 lxml 코드가 하위 패키지에 있다고 생각합니다. __init__.py 파일이 거기에 아무것도하는 것이 완벽하게 정상

from lxml import etree 
1

보십시오 : http://docs.python.org/tutorial/modules.html#packages

파일은 파이썬이 패키지의 알고 및 모듈의 무리와 단지 디렉토리 수 있도록 단지가 그것.

패키지 내부의 모듈을 직접 가져 오면됩니다.

from lxml import etree, html 

등 ...

관련 문제