diff --git a/azure-pipelines.yml b/azure-pipelines.yml index c4b8dcfd603..ce961495f39 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -182,15 +182,6 @@ stages: PYTEST_QT_API=PyQt6 pytest -m "not ultraslowtest" ${TEST_OPTIONS} python -m pip uninstall -yq PyQt6 PyQt6-sip PyQt6-Qt6 displayName: PyQt6 - # PyQt5 leaves cruft behind, so run it last - - bash: | - set -eo pipefail - python -m pip install PyQt5 - mne sys_info -pd - mne sys_info -pd | grep "qtpy .* (PyQt5=.*)$" - PYTEST_QT_API=PyQt5 pytest -m "not ultraslowtest" ${TEST_OPTIONS} - python -m pip uninstall -yq PyQt5 PyQt5-sip PyQt5-Qt5 - displayName: PyQt5 - bash: bash <(curl -s https://codecov.io/bash) displayName: Codecov condition: succeededOrFailed() diff --git a/doc/changes/dev/13981.dependency.rst b/doc/changes/dev/13981.dependency.rst new file mode 100644 index 00000000000..46bb3cc4212 --- /dev/null +++ b/doc/changes/dev/13981.dependency.rst @@ -0,0 +1 @@ +PyQt5 is no longer an officially supported Qt binding, by `Eric Larson`_. \ No newline at end of file diff --git a/doc/install/advanced.rst b/doc/install/advanced.rst index f1e217403aa..1c19f6e28b5 100644 --- a/doc/install/advanced.rst +++ b/doc/install/advanced.rst @@ -104,14 +104,14 @@ instructions for installing from a ``git clone`` in the :ref:`contributing`. Choosing the Qt framework ^^^^^^^^^^^^^^^^^^^^^^^^^ -The ``conda-forge`` version of MNE-Python ships with PyQt5. If you would like to +The ``conda-forge`` version of MNE-Python ships with PySide6. If you would like to use a different binding, you can instead install MNE-Python via ``pip``: .. code-block:: console - $ pip install "mne[full]" # uses PyQt6 - $ pip install "mne[full-pyqt6]" # same as above - $ pip install "mne[full-pyside6]" # use PySide6 + $ pip install "mne[full]" # uses PySide6 + $ pip install "mne[full-pyside6]" # same as above + $ pip install "mne[full-pyqt6]" # uses PyQt6 $ pip install "mne[full-no-qt]" # don't install any Qt binding .. _CUDA: diff --git a/mne/conftest.py b/mne/conftest.py index 5b372cb91c3..b6da95824e3 100644 --- a/mne/conftest.py +++ b/mne/conftest.py @@ -669,10 +669,6 @@ def _check_pyqtgraph(request): pytest.skip(f'Test "{f_name}" was skipped for mne-qt-browser < 0.2.0') except Exception: pytest.skip("Requires mne_qt_browser") - else: - ver = mne_qt_browser.__version__ - if api != "PyQt5" and _compare_version(ver, "<=", "0.2.6"): - pytest.skip(f"mne_qt_browser {ver} requires PyQt5, API is {api}") @pytest.fixture diff --git a/tools/github_actions_env_vars.sh b/tools/github_actions_env_vars.sh index 4aef0ff0316..ad8035de854 100755 --- a/tools/github_actions_env_vars.sh +++ b/tools/github_actions_env_vars.sh @@ -28,7 +28,7 @@ elif [[ "$MNE_CI_KIND" == "minimal" ]]; then elif [[ "$MNE_CI_KIND" == "old" ]]; then echo "MNE_IGNORE_WARNINGS_IN_TESTS=true" | tee -a $GITHUB_ENV echo "MNE_SKIP_NETWORK_TESTS=1" | tee -a $GITHUB_ENV - echo "MNE_QT_BACKEND=PyQt5" | tee -a $GITHUB_ENV + echo "MNE_QT_BACKEND=PyQt6" | tee -a $GITHUB_ENV elif [[ "$MNE_CI_KIND" == "conda" ]]; then echo "Setting conda env vars for $MNE_CI_KIND" echo "CONDA_ENV=environment.yml" | tee -a $GITHUB_ENV diff --git a/tools/setup_xvfb.sh b/tools/setup_xvfb.sh index d22f8e2b7ac..6d32a0e00fb 100755 --- a/tools/setup_xvfb.sh +++ b/tools/setup_xvfb.sh @@ -9,7 +9,7 @@ for apt_file in `grep -lr microsoft /etc/apt/sources.list.d/`; do sudo rm $apt_file done -# This also includes the libraries necessary for PyQt5/PyQt6 +# This also includes the libraries necessary for Qt6 sudo apt update sudo apt install -yqq xvfb libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libopengl0 libegl1 libosmesa6 mesa-utils libxcb-shape0 libxcb-cursor0 libxml2 /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render -noreset