在运行测试时,运行__import__会将所有全局变量重置为None

时间:2013-02-24 16:23:33

标签: python import python-2.7

当我使用__import__code

直接或间接地运行importlib.import_module
python setup.py test

procudes TypeError或类似的错误,表明NoneType对象无法执行某些操作。一些探索显示Noneimportlib调用后立即显示:模块中定义的所有全局变量现在都被赋予了此值。如果我没有运行测试,这不会发生。更多,如果我从另一个目录导入(从powerline.lib.vcs.git文件导入__init__.py等模块,这是powerline.lib.vcs模块的文件时会发生此行为,但这种情况不会发生,但导入时不会来自powerline.lib.vcs_modules,空__init__.py)。

测试由setuptools使用unittest和测试套件在单独的tests目录中完成。 Python版本为2.7.3-r2-r2代表ebuild修订版)。可以看到错误输出here

如何解决此问题?

更奇怪的数据:我能够创建两个目录,使diff -r --brief ~/.vam/powerline-{old,new}不返回任何更改(old = error,new = recloned,no error),diff -u <(ls -laR) <(cd ../powerline-new && ls -laR)仅报告某些目录修改时间的更改,但对于电力线老,它失败了,对于电力线 - 新的它没有。交换目录位置不会更改结果。也没有在其他位置使用cp -r复制这两个目录,或者执行tar c,然后tar x

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

任何想法是什么意思?在哪里可以举行区分这些目录?

0 个答案:

没有答案