私はpytestを使用してTravis-CIの統合テストを実行するオープンソースライブラリxarrayを維持しています。スタックcondaを使用して科学的Pythonをインストールします。PyTestはModuleNotFoundErrorと未使用のプラグインの名前で失敗します
Earlier today私たちの5つのテストビルド(Python 3.5および3.6ではPython 2.7または3.4ではなく)のうち2つは、明白な理由で失敗し始めました。 pytest自体が神秘トラックバックと、失敗します。我々は仮説を使用するか、hypothesis.extra.pytestplugin
をインストールしない
- :
$ py.test xarray --cov=xarray --cov-config ci/.coveragerc --cov-report term-missing --verbose $EXTRA_FLAGS Traceback (most recent call last): File "/home/travis/miniconda/envs/test_env/bin/py.test", line 6, in <module> sys.exit(py.test.main()) File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/config.py", line 49, in main config = _prepareconfig(args, plugins) File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/config.py", line 168, in _prepareconfig pluginmanager=pluginmanager, args=args) File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 745, in __call__ return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs) File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 339, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 334, in <lambda> _MultiCall(methods, kwargs, hook.spec_opts).execute() File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 613, in execute return _wrapped_call(hook_impl.function(*args), self.execute) File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 250, in _wrapped_call wrap_controller.send(call_outcome) File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/helpconfig.py", line 68, in pytest_cmdline_parse config = outcome.get_result() File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 279, in get_result raise ex[1].with_traceback(ex[2]) File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 265, in __init__ self.result = func() File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 614, in execute res = hook_impl.function(*args) File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/config.py", line 957, in pytest_cmdline_parse self.parse(args) File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/config.py", line 1121, in parse self._preparse(args, addopts=addopts) File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/config.py", line 1084, in _preparse self.pluginmanager.load_setuptools_entrypoints('pytest11') File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 510, in load_setuptools_entrypoints plugin = ep.load() File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2409, in load return self.resolve() File "/home/travis/miniconda/envs/test_env/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2415, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) ModuleNotFoundError: No module named 'hypothesis.extra.pytestplugin'
いくつかのことは、このことについて私には驚くべきものです。どこから来たのか分かりません。
- このエラーを引き起こすように変更されたことは何も明らかではありません。 one line doc changeの後に初めて登場しました。インストールされたPythonライブラリ(condaによってインストールされた特定のバイナリビルドを含む)はまったく同じように見えます。あなたはその上で何が起こっているのかについての手がかりや推測を持っている場合(あなたが好きな場合は、しかし、build outputsを自分で
diff
することができます。)
を、あなたの助けをいただければ幸いです!私はバグをどこにスタックするか知りません。