napari / napari-animation

A napari plugin for making animations
https://napari.github.io/napari-animation/
Other
74 stars 27 forks source link

How to run the tests locally? #168

Closed GenevieveBuckley closed 9 months ago

GenevieveBuckley commented 1 year ago

I'm having trouble testing this package locally.

The README says "...a detailed contributing guide is coming soon.", so perhaps whatever the answer to this problem is could become part of the not-yet-existing developer contributing guide?

alisterburt commented 1 year ago

ooh - sorry about this

I'm also on a mac and running tests with pytest

platform darwin -- Python 3.10.6, pytest-7.1.3, pluggy-1.0.0
PyQt5 5.15.7 -- Qt runtime 5.15.4 -- Qt compiled 5.15.4
rootdir: /Users/alisterburt/programming/napari-animation, configfile: setup.cfg
plugins: qt-4.1.0, napari-0.4.16, napari-plugin-engine-0.2.0, npe2-0.6.1
collected 97 items                            
...
=========================================================================== 97 passed in 64.85s (0:01:04) ===========================================================================

What is the error you're getting? How are you installing pytest-qt?

alisterburt commented 1 year ago

agree that this would be great in a contributing guide and sorry for the false advertising in the readme - is leftover from when we were pushing hard on this and had grand plans πŸ˜†

GenevieveBuckley commented 1 year ago

I'm also on a mac and running tests with pytest

Can I see your (working) conda list? That might be helpful

GenevieveBuckley commented 1 year ago

First I tried this...

conda create -n napari-animation-dev python=3.10 pip ipython
conda activate napari-animation-dev
python -m pip install -e ".[dev]"

But that gave me an error installing pyqt.

Details (click to expand) ``` Obtaining file:///Users/genevieb/Documents/GitHub/temp/napari-animation Installing build dependencies ... done Checking if build backend supports build_editable ... done Getting requirements to build editable ... done Preparing editable metadata (pyproject.toml) ... done Collecting imageio (from napari-animation==0.0.6.dev6+gf506832) Downloading imageio-2.28.0-py3-none-any.whl (3.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 25.9 MB/s eta 0:00:00 Collecting imageio-ffmpeg (from napari-animation==0.0.6.dev6+gf506832) Using cached imageio_ffmpeg-0.4.8-py3-none-any.whl Collecting napari (from napari-animation==0.0.6.dev6+gf506832) Using cached napari-0.4.17-py3-none-any.whl (2.6 MB) Collecting npe2 (from napari-animation==0.0.6.dev6+gf506832) Downloading npe2-0.7.0-py3-none-any.whl (92 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 92.3/92.3 kB 3.5 MB/s eta 0:00:00 Collecting numpy (from napari-animation==0.0.6.dev6+gf506832) Downloading numpy-1.24.3-cp310-cp310-macosx_11_0_arm64.whl (13.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.9/13.9 MB 20.3 MB/s eta 0:00:00 Collecting qtpy (from napari-animation==0.0.6.dev6+gf506832) Using cached QtPy-2.3.1-py3-none-any.whl (84 kB) Collecting scipy (from napari-animation==0.0.6.dev6+gf506832) Using cached scipy-1.10.1-cp310-cp310-macosx_12_0_arm64.whl (28.8 MB) Collecting tqdm>=4.56.0 (from napari-animation==0.0.6.dev6+gf506832) Using cached tqdm-4.65.0-py3-none-any.whl (77 kB) Collecting superqt (from napari-animation==0.0.6.dev6+gf506832) Using cached superqt-0.4.1-py3-none-any.whl (63 kB) Collecting pre-commit (from napari-animation==0.0.6.dev6+gf506832) Using cached pre_commit-3.2.2-py2.py3-none-any.whl (202 kB) Collecting black (from napari-animation==0.0.6.dev6+gf506832) Using cached black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl (2.7 MB) Collecting flake8 (from napari-animation==0.0.6.dev6+gf506832) Using cached flake8-6.0.0-py2.py3-none-any.whl (57 kB) Collecting check-manifest (from napari-animation==0.0.6.dev6+gf506832) Using cached check_manifest-0.49-py3-none-any.whl (20 kB) Collecting PyQt5!=5.15.0,>=5.12.3 (from napari-animation==0.0.6.dev6+gf506832) Using cached PyQt5-5.15.9.tar.gz (3.2 MB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... error error: subprocess-exited-with-error Γ— Preparing metadata (pyproject.toml) did not run successfully. β”‚ exit code: 1 ╰─> [17 lines of output] Querying qmake about your Qt installation... Traceback (most recent call last): File "/Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in main() File "/Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "/Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 152, in prepare_metadata_for_build_wheel whl_basename = backend.build_wheel(metadata_directory, config_settings) File "/private/var/folders/82/phlx_f6j5518qtvpm4x0_0fm0000gq/T/pip-build-env-idhua02i/overlay/lib/python3.10/site-packages/sipbuild/api.py", line 46, in build_wheel project = AbstractProject.bootstrap('wheel', File "/private/var/folders/82/phlx_f6j5518qtvpm4x0_0fm0000gq/T/pip-build-env-idhua02i/overlay/lib/python3.10/site-packages/sipbuild/abstract_project.py", line 87, in bootstrap project.setup(pyproject, tool, tool_description) File "/private/var/folders/82/phlx_f6j5518qtvpm4x0_0fm0000gq/T/pip-build-env-idhua02i/overlay/lib/python3.10/site-packages/sipbuild/project.py", line 602, in setup self.update(tool) File "/private/var/folders/82/phlx_f6j5518qtvpm4x0_0fm0000gq/T/pip-install-8svxhrwd/pyqt5_b3f6009047a945be82e1d1569810fdd5/project.py", line 165, in update raise UserException( sipbuild.exceptions.UserException [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed Γ— Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details. ```

I didn't think that was too unusual, I often find pyqt is difficult to install on an M1 mac. It works well now if you install with conda, but you used to need a special conda channel, and I still find problems with pip. So that's ok, I figured I'd just go through the dependency list and install them one by one.

GenevieveBuckley commented 1 year ago

Figured it out! I needed to install pytest-qt, which wasn't on the requirements list. I was too focused on trying to install qtbot in different ways to think about that.

Without pytest-qt, I'd get errors like this, even after installing qtbot:

pytest output (click to expand) ```python-traceback ============================= test session starts ============================== platform darwin -- Python 3.10.10, pytest-7.3.1, pluggy-1.0.0 rootdir: /Users/genevieb/Documents/GitHub/temp/napari-animation configfile: setup.cfg plugins: npe2-0.7.0, napari-0.4.17, napari-plugin-engine-0.2.0 collected 97 items napari_animation/_qt/_tests/test_animation_widget.py E [ 1%] napari_animation/_tests/test_animation.py EEEEEEEEEEEEEEEEEEE [ 20%] napari_animation/_tests/test_easing.py ....... [ 27%] napari_animation/_tests/test_frame_sequence.py EEE [ 30%] napari_animation/_tests/test_interpolation.py .......................... [ 57%] .................................EEEEEE [ 97%] napari_animation/_tests/test_utils.py .. [100%] ==================================== ERRORS ==================================== ___________________ ERROR at setup of test_animation_widget ____________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_qt/_tests/test_animation_widget.py, line 6 def test_animation_widget(make_napari_viewer, qtbot): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 _______________________ ERROR at setup of test_animation _______________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 21 def test_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ___________________ ERROR at setup of test_capture_key_frame ___________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 28 def test_capture_key_frame(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ___________________ ERROR at setup of test_set_to_key_frame ____________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 37 def test_set_to_key_frame(animation_with_key_frames): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ___________________ ERROR at setup of test_replace_keyframe ____________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 45 def test_replace_keyframe(animation_with_key_frames): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ___________________ ERROR at setup of test_get_viewer_state ____________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 55 def test_get_viewer_state(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ___________________ ERROR at setup of test_set_viewer_state ____________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 62 def test_set_viewer_state(animation_with_key_frames, viewer_state): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 _________________ ERROR at setup of test_thumbnail_generation __________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 76 def test_thumbnail_generation(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ________________ ERROR at setup of test_animate_filenames[.mp4] ________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 90 @patch("napari_animation.animation.imsave") @patch("imageio.get_writer") @patch( "napari_animation.frame_sequence.FrameSequence.iter_frames", return_value=["frame"] * 30, ) @pytest.mark.parametrize("ext", [".mp4", ".mov", ""]) def test_animate_filenames( file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ________________ ERROR at setup of test_animate_filenames[.mov] ________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 90 @patch("napari_animation.animation.imsave") @patch("imageio.get_writer") @patch( "napari_animation.frame_sequence.FrameSequence.iter_frames", return_value=["frame"] * 30, ) @pytest.mark.parametrize("ext", [".mp4", ".mov", ""]) def test_animate_filenames( file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 __________________ ERROR at setup of test_animate_filenames[] __________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 90 @patch("napari_animation.animation.imsave") @patch("imageio.get_writer") @patch( "napari_animation.frame_sequence.FrameSequence.iter_frames", return_value=["frame"] * 30, ) @pytest.mark.parametrize("ext", [".mp4", ".mov", ""]) def test_animate_filenames( file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 _____________ ERROR at setup of test_layer_attribute_capture[name] _____________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 113 @pytest.mark.parametrize("attribute", CAPTURED_LAYER_ATTRIBUTES) def test_layer_attribute_capture(layer_state, attribute): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 49 @pytest.fixture def layer_state(image_animation: Animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 42 @pytest.fixture def image_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ____________ ERROR at setup of test_layer_attribute_capture[scale] _____________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 113 @pytest.mark.parametrize("attribute", CAPTURED_LAYER_ATTRIBUTES) def test_layer_attribute_capture(layer_state, attribute): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 49 @pytest.fixture def layer_state(image_animation: Animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 42 @pytest.fixture def image_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 __________ ERROR at setup of test_layer_attribute_capture[translate] ___________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 113 @pytest.mark.parametrize("attribute", CAPTURED_LAYER_ATTRIBUTES) def test_layer_attribute_capture(layer_state, attribute): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 49 @pytest.fixture def layer_state(image_animation: Animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 42 @pytest.fixture def image_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ____________ ERROR at setup of test_layer_attribute_capture[rotate] ____________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 113 @pytest.mark.parametrize("attribute", CAPTURED_LAYER_ATTRIBUTES) def test_layer_attribute_capture(layer_state, attribute): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 49 @pytest.fixture def layer_state(image_animation: Animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 42 @pytest.fixture def image_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ____________ ERROR at setup of test_layer_attribute_capture[shear] _____________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 113 @pytest.mark.parametrize("attribute", CAPTURED_LAYER_ATTRIBUTES) def test_layer_attribute_capture(layer_state, attribute): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 49 @pytest.fixture def layer_state(image_animation: Animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 42 @pytest.fixture def image_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ___________ ERROR at setup of test_layer_attribute_capture[opacity] ____________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 113 @pytest.mark.parametrize("attribute", CAPTURED_LAYER_ATTRIBUTES) def test_layer_attribute_capture(layer_state, attribute): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 49 @pytest.fixture def layer_state(image_animation: Animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 42 @pytest.fixture def image_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ___________ ERROR at setup of test_layer_attribute_capture[blending] ___________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 113 @pytest.mark.parametrize("attribute", CAPTURED_LAYER_ATTRIBUTES) def test_layer_attribute_capture(layer_state, attribute): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 49 @pytest.fixture def layer_state(image_animation: Animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 42 @pytest.fixture def image_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ___________ ERROR at setup of test_layer_attribute_capture[visible] ____________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 113 @pytest.mark.parametrize("attribute", CAPTURED_LAYER_ATTRIBUTES) def test_layer_attribute_capture(layer_state, attribute): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 49 @pytest.fixture def layer_state(image_animation: Animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 42 @pytest.fixture def image_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ___________________ ERROR at setup of test_end_state_reached ___________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_animation.py, line 120 def test_end_state_reached(image_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 42 @pytest.fixture def image_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 _______________________ ERROR at setup of test_frame_seq _______________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_frame_sequence.py, line 9 def test_frame_seq(frame_sequence: FrameSequence): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 37 @pytest.fixture def frame_sequence(animation_with_key_frames): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ___________________ ERROR at setup of test_frame_seq_caching ___________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_frame_sequence.py, line 23 def test_frame_seq_caching(frame_sequence: FrameSequence): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 37 @pytest.fixture def frame_sequence(animation_with_key_frames): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ______________________ ERROR at setup of test_iterframes _______________________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_frame_sequence.py, line 48 def test_iterframes(animation_with_key_frames, frame_sequence: FrameSequence): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ______________ ERROR at setup of test_interpolate_viewer_state[0] ______________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_interpolation.py, line 59 @pytest.mark.parametrize("fraction", [0, 0.2, 0.4, 0.6, 0.8, 1]) def test_interpolate_viewer_state(frame_sequence, fraction): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 37 @pytest.fixture def frame_sequence(animation_with_key_frames): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 _____________ ERROR at setup of test_interpolate_viewer_state[0.2] _____________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_interpolation.py, line 59 @pytest.mark.parametrize("fraction", [0, 0.2, 0.4, 0.6, 0.8, 1]) def test_interpolate_viewer_state(frame_sequence, fraction): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 37 @pytest.fixture def frame_sequence(animation_with_key_frames): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 _____________ ERROR at setup of test_interpolate_viewer_state[0.4] _____________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_interpolation.py, line 59 @pytest.mark.parametrize("fraction", [0, 0.2, 0.4, 0.6, 0.8, 1]) def test_interpolate_viewer_state(frame_sequence, fraction): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 37 @pytest.fixture def frame_sequence(animation_with_key_frames): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 _____________ ERROR at setup of test_interpolate_viewer_state[0.6] _____________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_interpolation.py, line 59 @pytest.mark.parametrize("fraction", [0, 0.2, 0.4, 0.6, 0.8, 1]) def test_interpolate_viewer_state(frame_sequence, fraction): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 37 @pytest.fixture def frame_sequence(animation_with_key_frames): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 _____________ ERROR at setup of test_interpolate_viewer_state[0.8] _____________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_interpolation.py, line 59 @pytest.mark.parametrize("fraction", [0, 0.2, 0.4, 0.6, 0.8, 1]) def test_interpolate_viewer_state(frame_sequence, fraction): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 37 @pytest.fixture def frame_sequence(animation_with_key_frames): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ______________ ERROR at setup of test_interpolate_viewer_state[1] ______________ file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/test_interpolation.py, line 59 @pytest.mark.parametrize("fraction", [0, 0.2, 0.4, 0.6, 0.8, 1]) def test_interpolate_viewer_state(frame_sequence, fraction): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 37 @pytest.fixture def frame_sequence(animation_with_key_frames): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 19 @pytest.fixture def animation_with_key_frames(empty_animation): file /Users/genevieb/Documents/GitHub/temp/napari-animation/napari_animation/_tests/conftest.py, line 11 @pytest.fixture def empty_animation(make_napari_viewer): file /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py, line 104 @pytest.fixture def make_napari_viewer( E fixture 'qtbot' not found > available fixtures: MouseEvent, add_implementation, add_specification, animation_with_key_frames, cache, caller_from_implementation, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, empty_animation, frame_sequence, image_animation, key_frames, layer_state, make_napari_viewer, monkeypatch, napari_plugin_manager, npe2pm, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, temporary_hookimpl, test_plugin_manager, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, viewer_state > use 'pytest --fixtures [testpath]' for help on them. /Users/genevieb/mambaforge/envs/napari-animation-dev/lib/python3.10/site-packages/napari/utils/_testsupport.py:104 ============================= slowest 10 durations ============================= 0.01s teardown napari_animation/_tests/test_animation.py::test_thumbnail_generation (9 durations < 0.005s hidden. Use -vv to show these durations.) =========================== short test summary info ============================ ERROR napari_animation/_qt/_tests/test_animation_widget.py::test_animation_widget ERROR napari_animation/_tests/test_animation.py::test_animation ERROR napari_animation/_tests/test_animation.py::test_capture_key_frame ERROR napari_animation/_tests/test_animation.py::test_set_to_key_frame ERROR napari_animation/_tests/test_animation.py::test_replace_keyframe ERROR napari_animation/_tests/test_animation.py::test_get_viewer_state ERROR napari_animation/_tests/test_animation.py::test_set_viewer_state ERROR napari_animation/_tests/test_animation.py::test_thumbnail_generation ERROR napari_animation/_tests/test_animation.py::test_animate_filenames[.mp4] ERROR napari_animation/_tests/test_animation.py::test_animate_filenames[.mov] ERROR napari_animation/_tests/test_animation.py::test_animate_filenames[] ERROR napari_animation/_tests/test_animation.py::test_layer_attribute_capture[name] ERROR napari_animation/_tests/test_animation.py::test_layer_attribute_capture[scale] ERROR napari_animation/_tests/test_animation.py::test_layer_attribute_capture[translate] ERROR napari_animation/_tests/test_animation.py::test_layer_attribute_capture[rotate] ERROR napari_animation/_tests/test_animation.py::test_layer_attribute_capture[shear] ERROR napari_animation/_tests/test_animation.py::test_layer_attribute_capture[opacity] ERROR napari_animation/_tests/test_animation.py::test_layer_attribute_capture[blending] ERROR napari_animation/_tests/test_animation.py::test_layer_attribute_capture[visible] ERROR napari_animation/_tests/test_animation.py::test_end_state_reached ERROR napari_animation/_tests/test_frame_sequence.py::test_frame_seq ERROR napari_animation/_tests/test_frame_sequence.py::test_frame_seq_caching ERROR napari_animation/_tests/test_frame_sequence.py::test_iterframes ERROR napari_animation/_tests/test_interpolation.py::test_interpolate_viewer_state[0] ERROR napari_animation/_tests/test_interpolation.py::test_interpolate_viewer_state[0.2] ERROR napari_animation/_tests/test_interpolation.py::test_interpolate_viewer_state[0.4] ERROR napari_animation/_tests/test_interpolation.py::test_interpolate_viewer_state[0.6] ERROR napari_animation/_tests/test_interpolation.py::test_interpolate_viewer_state[0.8] ERROR napari_animation/_tests/test_interpolation.py::test_interpolate_viewer_state[1] ======================== 68 passed, 29 errors in 43.03s ======================= ```
GenevieveBuckley commented 1 year ago

This worked! (needed to add pytest-qt and qtbot, which weren't listed in the setup.cfg)

conda create -n napari-animation-dev python=3.10 pip ipython
conda activate napari-animation-dev
# Install requirements
mamba install napari npe2 qtpy superqt
mamba install imageio imageio-ffmpeg
mamba install scipy tqdm
# Install development dependencies
mamba install pre-commit black flake8 check-manifest
mamba install pytest pytest-qt
python -m pip install qtbot
# Install development version
cd napari-animation
python -m pip install -e .
# Run pytest
pytest
GenevieveBuckley commented 1 year ago

@alisterburt how do you feel about shifting the PyQt requirement into its own optional dependency category?

Why is this line listed so specifically https://github.com/napari/napari-animation/blob/f5068324521be61bda6e89c333161d0e660cd4fc/setup.cfg#L51

Then you could have the contributing docs go something like this, and work for all operating systems:

conda create napari-animation-dev python=3.10 pip ipython
conda activate napari-animation-dev
git clone https://github.com/napari/napari-animation.git
cd napari-animation
python -m pip install -e .[dev]

So users can possibly have an optional choice of how and where to install pyqt/pyside (is pyside supported by napari-animation?)

python -m pip install -e .[pyqt]
# or
conda install pyqt
# etc.
psobolewskiPhD commented 9 months ago

So obviously contributing documentation is inadequate, but we still have some options to improve things:

  1. just document that you need to install .[testing, dev]
  2. have [dev] install [testing] -- this is how it works in the napari/napari repo

Anyone have any thoughts?

Edit: Wait a minute: https://github.com/napari/napari-animation/pull/169 already implemented the 2nd option. So we just need to clarify in the README!