2013-06-06 2 views
0

py2exe를 lxml 폴더에서 etree.pyd를 가져 오려면 어떻게해야합니까? 내가lxml etree를 사용하여 py2exe를 가져 오는 중 오류가 발생했습니다.

includes = ['lxml.etree'] 

을 수행 할 때

나는 오류를 얻을 : importerror no module named lxml.etree. 파이썬 콘솔에 들어가서

을 입력하면
from lxml import etree 
import lxml 
lxml.etree 

모두 잘 작동합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

처음에는 어리석은 실수를 저지르는 것입니다. 나는 항상 같은 파이썬 인터프리터를 사용하고 있습니까? 귀하의 환경 콘솔에서'py2exe'를 실행하십시오? – abarnert

+0

둘째, 왜이 '포함'을 명시 적으로 추가하고 있습니까? 모듈 찾기가 자동으로 찾지 못합니까? – abarnert

답변

0

정말 명시 적으로 지정할 필요는 없습니다. 모듈 찾기가 종속성을 찾아서 자동으로 추가해야합니다. 그렇지 않으면 좋은 이유가 무엇인지 모릅니다. 먼저 문서에서 설명한대로 py2exe.mf으로 디버깅해야합니다.

그러나 필요한 경우 lxml.etree이 아니라 lxml 패키지 전체가 필요합니다. 당신이 그 사실 여부를 확인뿐만 아니라 패키지의 최상위 레벨과 etree 서브 패키지 - 난을 포함 할 경우,

packages = ['lxml'] 

또는 :와 ...

includes = ['lxml.etree'] 

을 : 그래서, 그냥 교체 (설정 시간 또는 런타임에) 수행 할 수 있지만 다음과 같이 설정할 수 있습니다.

includes = ['lxml', 'lxml.etree'] 
관련 문제