2017-03-19 1 views
1

Buildroot (2017.02)의 scanpypi 스크립트 - 지원 스크립트를 실행하려고하는데 ImportError가 발생합니다. 이름을 가져올 수 없습니다. get_importer.가져 오기 오류 : 이름을 가져올 수 없습니다. get_importer

역 추적 (마지막으로 가장 최근 통화) : 파일 "./support/scripts/scanpypi", 라인 (52), 수입 setuptools에 파일 "/usr/local/lib/python2.7/dist-packages/setuptools에서/ 수입 pkg_resources 에서 "/usr/local/lib/python2.7/dist-packages/setuptools/version.py, 줄 1" 수입 setuptools.version 파일에, 라인 12 " 평을 초기화하기 파일 "/usr/local/lib/python2.7/dist-packages/pkg_resources/ 초기화 .py", 40 줄, 에서 pkgutil 가져 오기 get_importer ImportError : 가져올 수 없습니다 get_importe

:

R

나는 sys.path에에게

  • 수입 SYS
  • 인쇄 (sys.path에)

출력을 볼 수 scanpypi 스크립트의 시작 부분에 다음 줄을 추가 [/ home/timo/bldr_lab/buildroot/support/scripts], '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/ usr/lib/python2.7/lib-tk ','/usr/lib/python2.7/lib-old ','/ usr/lib/python2 .7/lib-dynload ','/usr/local/lib/python2.7/dist-packages ','/usr/lib/python2.7/dist-packages ']

pkgutil이 /usr/lib/python2.7 디렉토리 문제가 경로 문제가 아닙니다.

또한 python2.7, pip 및 setuptools를 제거하고 다시 설치했지만 도움은 필요하지 않습니다.

ImportError의 원인은 무엇입니까?

+0

'python -c '가 pkgutil을 가져 오는 경우 어떻게됩니까? print (pkgutil .__ file __)'? –

+0

또한이 문제가 발생합니다. 나는'pudb'로 디버깅하려했지만 디버거에서는 매력처럼 작동합니다. 다른 리눅스 배포판에서'scanpypi'를 시도했는데 모두 같은 동작을 보입니다. – yegorich

답변

1

이것은 Buildroot의 버그입니다. 지원/스크립트에 pkgutil.py 파일이 도입 된 커밋 12683184b1969f65680cb7db55b547a620a9860f 때문입니다. 이것은 setuptools의 pkgutil.py과 충돌합니다.

해결책은 pkgutil.py 파일의 이름을 다른 이름으로 바꾸고 그에 따라 다른 스크립트에서 가져 오기를 업데이트하는 것입니다. 이 경우 패치를 the Buildroot mailing list에 게시하면 누구나 혜택을 볼 수 있습니다. 패치를 게시하는 방법에 대한 자세한 내용은 the manual을 참조하십시오.

+0

정보 주셔서 감사합니다. 나는 실제로 오늘 "pkgutil.py"가 support/scripts 폴더에 있다는 것을 알아 차렸다. 내가 이름을 바꾼 다음 scanpypi 스크립트가 예상대로 작동하기 시작했습니다. – TimoV

+0

저는 방금 왜 pkgutil.py가 폴더에 있었는지 궁금했지만 지금은 알았습니다. 어쨌든 버그를보고하는 것이 문제를 해결할 올바른 방법 일 것이라고 생각합니다. 다른 코드를 다루는 것을 꺼려합니다. 어쨌든, 오늘 나중에 이것을 보도록하겠습니다. – TimoV

관련 문제