我试图运行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
输出:
[' / 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可能是什么原因?
答案 0 :(得分:1)
这是Buildroot中的一个错误。这是由于提交了12683184b1969f65680cb7db55b547a620a9860f,它在支持/脚本中引入了pkgutil.py
文件。这与setuptools中的pkgutil.py
冲突。
解决方案是将pkgutil.py
文件重命名为其他文件,并相应地更新其他脚本中的导入。如果你这样做,请在the Buildroot mailing list上发布补丁,这样每个人都可以受益。有关如何发布补丁的详细信息,请参阅the manual。