关于python:导入错误:无法导入名称get_importer

Import Error: cannot import name get_importer

我正在尝试运行scanpypi脚本 - 支持Buildroot脚本(2017.02),但我得到了ImportError:无法导入名称get_importer。

Traceback(最近一次调用最后一次):
文件"./support/scripts/scanpypi",第52行,in
import setuptools
文件"/usr/local/lib/python2.7/dist-packages/setuptools/init.py",第12行,in
import setuptools.version
文件"/usr/local/lib/python2.7/dist-packages/setuptools/version.py",第1行,in
import pkg_resources
文件"/usr/local/lib/python2.7/dist-packages/pkg_resources/init.py",第40行,in
来自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-dadload','/ usr / local / lib / python2 .7 / dist-packages','/ usr / lib / python2.7 / did-package']

由于pkgutil位于/usr/lib/python2.7目录中,因此问题不在于路径问题。

我也卸载并重新安装了python2.7,pip和setuptools但没有帮助。

什么可能是ImportError的原因?


这是Buildroot中的一个错误。 这是由于提交了12683184b1969f65680cb7db55b547a620a9860f,它在支持/脚本中引入了pkgutil.py文件。 这与setuptools中的pkgutil.py冲突。

解决方案是将pkgutil.py文件重命名为其他文件,并相应地更新其他脚本中的导入。 如果你这样做,请在Buildroot邮件列表上发布一个补丁,这样每个人都可以受益。 有关如何发布补丁的详细信息,请参阅手册。