Python ImportError:reload()模块不在sys.modules中......但它是?

时间:2014-01-30 10:59:37

标签: python python-2.7 pytest

我认为我遇到过最奇怪的问题。

在Python 2.7中使用py.test,我得到以下超奇怪的东西:

        print('draftin_a_flask.draftin_a_flask' in sys.modules)
>       reload(draftin_a_flask)
E       ImportError: reload(): module draftin_a_flask.draftin_a_flask not in sys.modules

tests/test_draftin_a_flask.py:197: ImportError
------------------------------------- Captured stdout -------------------------------------
True

事实:

  • 根据print语句,draftin_a_flask.draftin_a_flask实际上是在sys.modules
  • 根据reload语句抛出的错误后直接行,jk!不,不是。
  • 结果我疯了,因为wat。

世界上我可能在哪里出错?

编辑:

我所做的违规行为似乎与tox.ini

中的以下内容有关
[pytest]
python_functions=test_
python_files=*.py
norecursedirs = .tox .git docs

我删除那些行,瞧!我们工作。把他们放回去重装问题。我正在挖掘更多内容。

编辑#2:

看来python_files=*.py行是罪魁祸首。但为什么

您可以在此处查看代码:https://github.com/waynew/draftin-a-flask并将以下行添加到tox.ini

[pytest]
python-files=*.py

观察行为

0 个答案:

没有答案