导入错误:无法导入名称get_importer

时间:2017-03-19 21:08:45

标签: python linux buildroot

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

追踪(最近一次通话):   文件" ./ support / scripts / scanpypi",第52行,in     import setuptools   文件" /usr/local/lib/python2.7/dist-packages/setuptools/ init .py",第12行,在     import setuptools.version   文件" /usr/local/lib/python2.7/dist-packages/setuptools/version.py" ;,第1行,在     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

  • import sys
  • 打印(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& #39;,' /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 个答案:

答案 0 :(得分:1)

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

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