Import Error: cannot import name get_importer

Import Error: cannot import name get_importer

我正在尝试 运行 scanpypi 脚本 - Buildroot (2017.02) 的支持脚本,但我收到 ImportError: cannot import name get_importer.

回溯(最后一次调用): 文件“./support/scripts/scanpypi”,第 52 行,位于 导入设置工具 文件“/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 导入 get_importer 导入错误:无法导入名称 get_importer

我将以下行添加到 scanpypi 脚本的开头以查看 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,但没有帮助。

导入错误的原因可能是什么?

这是 Buildroot 中的错误。这是由于提交 12683184b1969f65680cb7db55b547a620a9860f 在 support/scripts 中引入了 pkgutil.py 文件。这与 setuptools 中的 pkgutil.py 冲突。

解决方案是将 pkgutil.py 文件重命名为其他名称,并相应地更新其他脚本中的导入。如果您这样做,请 post 在 the Buildroot mailing list, so everyone can benefit. See the manual 上打补丁,以了解如何 post 打补丁的详细信息。