2014-04-22 1 views
4

그래서 그들은 lxml에서 cssselect 패키지를 제거했습니다. 이제 제 파이썬 프로그램은 쓸모가 없습니다. 어떻게 작동 시킬지 알 수 없습니다.lxml에서 제거 된 cssselect 패키지의 문제를 해결하는 방법은 무엇입니까?

ImportError : cssselect가 설치되지 않은 것처럼 보입니다. http://packages.python.org/cssselect/

내 코드 디렉토리에 cssselect 디렉토리를 복사하려고했는데 -> 바이트 코드 파일을 컴파일 할 때 오류가 해결되지만 프로그램을 실행할 때 오류가 계속 발생합니다.

lxml.cssselect 명령을 다시 작성하려고했지만 결과가 없습니다.

전 인터넷 검색을 했는데도 답변이 없습니다. 어떻게 그렇게 원래의 코드가 작동 가져올

from lxml.html import parse 

및 cssselect 그래서 하나

inner = html.xpath('//*[@id="Content..."]') 
for b in inner: 
... 
    for a in b.cssselect('p'): 
    ... 

이다 사용하는 코드 :

지금은 그냥 라인을 가지고? 그것을 수동으로 어떤 장소 나 다른 곳으로 복사해야합니까?

또는 코드를 찾고 바꾸어 작동시키는 방법은 무엇입니까? (I 모두 LXML 및 cssselect 패키지를 설치 한 OFC 오와 메모)

+1

당신은 ** 전체를 검색 인터넷을? 대담한 진술;) – dirkk

+0

새'lxml'은 실제로 cssselect를 외부 (https://github.com/lxml/lxml/blob/master/src/lxml/cssselect.py#L16)로 가져옵니다. 'lxml.cssselect'를 복사하거나 다시 쓸 필요는 없습니다. 'cssselect '를 설치하는 것으로 충분합니다. 파이썬 쉘에서'import cssselect'가주는 것은 무엇입니까? –

+1

@dirkk lxml을 작동시키는 방법을 알아내는 데에는 전체 인터넷 검색이 불행히도 필요합니다. lxml이 시작하기에 직관적이라면 BeatifulSoup과 같은 것이 필요하지 않을 것입니다. – Amalgovinus

답변

4

문제는 cssselect 설치를했다. 알 수없는 이유로 cssselect 패키지가 /usr/local/lib/python2.7/dist-packages/ 대신 /root/.local/lib/python2.7/site-packages/에 설치되었습니다.

Cssselect는 데비안 GNU/리눅스 7.4 (위지, 리눅스 3.2.0-4-AMD64의 x86_64의)에 pip install cssselect을 설치했다. 그것이 나의 이상한 오타이거나 버그인지는 모르겠다.

해결책은 cssselect를 제거하고 다시 설치하는 것입니다. 이번에는 정확한 장소로 갔고 모든 것이 이전과 같이 작동합니다. 파이썬 코드를 전혀 수정할 필요가 없었습니다.

타이, 당신이 답을)

3

내 솔루션은 pip3 사용 cssselect를 설치했다 : **

sudo pip3 install cssselect 
관련 문제