0

当我使用(代码__import__直接或间接运行时importlib.import_module

python setup.py test

产生TypeError或类似的错误,表明该NoneType对象不能做某事。一些探索显示,调用None后立即出现importlib:模块中定义的所有全局变量现在都分配了这个值。如果我不运行测试,这不会发生。此外,如果我从另一个目录导入,则不会发生这种情况(在导入模块时,例如powerline.lib.vcs.gitfrom __init__.pyfile 是powerline.lib.vcs模块的文件,这种行为会出现,但在powerline.lib.vcs_modules使用 empty导入时不会出现__init__.py)。

测试是通过setuptools使用单独目录unittest中的测试套件来完成的。testsPython 版本是2.7.3-r2-r2代表 ebuild 修订版)。可以在这里看到错误输出。

如何解决这种行为?

更奇怪的数据:我能够创建两个目录,这样就不会diff -r --brief ~/.vam/powerline-{old,new}返回任何更改(旧 = 错误,新 = 重新克隆,没有错误)并且diff -u <(ls -laR) <(cd ../powerline-new && ls -laR)只报告某些目录修改时间的更改,但是对于 powerline-old 它失败了,对于 powerline-new它不是。交换目录位置不会改变结果。cp -r也不会在其他位置复制两个目录或执行tar c, then tar x

啊,travis虚拟机中的新克隆也显示了这个奇怪的错误。

任何想法这意味着什么?在哪里可以保存状态来区分这些目录?

4

0 回答 0