Ошибка импорта: невозможно импортировать имя get_importer

Я пытаюсь запустить скрипт scanpypi - скрипт поддержки Buildroot (2017.02), но получаю ImportError: невозможно импортировать имя get_importer.

Traceback (последний вызов был последним): файл "./support/scripts/scanpypi", строка 52, в файле импорта setuptools. Файл "/usr/local/lib/python2.7/dist-packages/setuptools/init.py", строка 12, в файле импорта setuptools.version "/usr/local/lib/python2.7/dist-packages/setuptools/version.py", строка 1, в файле импорта pkg_resources "/usr/local/lib/python2.7/ dist-packages / pkg_resources /init.py ", строка 40, из pkgutil import get_importer ImportError: невозможно импортировать имя get_importer

Я добавил следующие строки в начало скрипта scanpypi, чтобы увидеть sys.path

  • импорт системы
  • печать (sys.path)

выход:

['/ 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?

1 ответ

Решение

Это ошибка в Buildroot. Это связано с фиксацией 12683184b1969f65680cb7db55b547a620a9860f, которая представила pkgutil.py файл в поддержку / скрипты. Это противоречит pkgutil.py из setuptools.

Решение состоит в том, чтобы переименовать pkgutil.py файл на что-то другое, и обновите импорт в других сценариях соответственно. Если вы сделаете это, пожалуйста, опубликуйте патч в списке рассылки Buildroot, чтобы каждый мог получить пользу. Смотрите руководство, чтобы узнать, как публиковать патчи.

Другие вопросы по тегам