From 69045051f1d4a007bbc37d8159aba024e2347587 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 17 Nov 2020 11:11:26 -0500 Subject: [PATCH 1/9] MAINT: Test 3.9 --- .github/workflows/{main.yml => circle_artifacts.yml} | 0 .github/workflows/linux_pip.yml | 4 ++-- README.rst | 9 ++++++--- azure-pipelines.yml | 6 +++--- mne/preprocessing/tests/test_xdawn.py | 10 ++++------ tools/github_actions_dependencies.sh | 8 +++++--- 6 files changed, 20 insertions(+), 17 deletions(-) rename .github/workflows/{main.yml => circle_artifacts.yml} (100%) diff --git a/.github/workflows/main.yml b/.github/workflows/circle_artifacts.yml similarity index 100% rename from .github/workflows/main.yml rename to .github/workflows/circle_artifacts.yml diff --git a/.github/workflows/linux_pip.yml b/.github/workflows/linux_pip.yml index f35345c5a02..466e8994463 100644 --- a/.github/workflows/linux_pip.yml +++ b/.github/workflows/linux_pip.yml @@ -11,7 +11,7 @@ jobs: # PIP + non-default stim channel + log level info job: if: "github.repository == 'mne-tools/mne-python' && !contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[skip github]')" - name: 'py3.8' + name: 'py3.9' runs-on: ubuntu-latest defaults: run: @@ -22,7 +22,7 @@ jobs: MNE_STIM_CHANNEL: 'STI101' OPENBLAS_NUM_THREADS: '1' PYTHONUNBUFFERED: '1' - PYTHON_VERSION: '3.8' + PYTHON_VERSION: '3.9' steps: - uses: actions/checkout@v2 with: diff --git a/README.rst b/README.rst index 537342019a2..ee494dcbb34 100644 --- a/README.rst +++ b/README.rst @@ -1,11 +1,14 @@ .. -*- mode: rst -*- -|Travis|_ |Azure|_ |Circle|_ |Codecov|_ |PyPI|_ |conda-forge|_ |Zenodo|_ +|GH-Linux|_ |GH-macOS|_ |Azure|_ |Circle|_ |Codecov|_ |PyPI|_ |conda-forge|_ |Zenodo|_ |MNE|_ -.. |Travis| image:: https://api.travis-ci.org/mne-tools/mne-python.svg?branch=master -.. _Travis: https://travis-ci.org/mne-tools/mne-python/branches +.. |GH-Linux| image:: https://github.com/mne-tools/mne-python/workflows/linux%20/%20conda/badge.svg?branch=master +.. _GH-Linux: https://github.com/mne-tools/mne-python/actions?query=branch:master+event:push + +.. |GH-macOS| image:: https://github.com/mne-tools/mne-python/workflows/macos%20/%20conda/badge.svg?branch=master +.. _GH-macOS: https://github.com/mne-tools/mne-python/actions?query=branch:master+event:push .. |Azure| image:: https://dev.azure.com/mne-tools/mne-python/_apis/build/status/mne-tools.mne-python?branchName=master .. _Azure: https://dev.azure.com/mne-tools/mne-python/_build/latest?definitionId=1&branchName=master diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8c06ca8ac03..ea40f9a5f1d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -222,9 +222,9 @@ stages: - bash: | set -e python -m pip install --upgrade pip "setuptools<50.0" - python -m pip install --upgrade --pre --only-binary ":all:" -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" "numpy!=1.20.0.dev0+20201111233731.0ffaaf8,!=1.20.0.dev0+20201111232921.0ffaaf8" - python -m pip install --upgrade --pre --only-binary ":all:" -f "https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com" scipy pandas scikit-learn matplotlib h5py Pillow - python -m pip install --upgrade --only-binary vtk vtk; + python -m pip install --upgrade --pre --only-binary ":all:" -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" numpy scipy pandas scikit-learn statsmodels dipy + python -m pip install --upgrade --pre --only-binary ":all:" -f "https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com" matplotlib + python -m pip install --upgrade --pre --only-binary vtk vtk python -m pip install https://github.com/pyvista/pyvista/zipball/master python -m pip install https://github.com/pyvista/pyvistaqt/zipball/master python -m pip install -r requirements.txt -r requirements_testing.txt codecov diff --git a/mne/preprocessing/tests/test_xdawn.py b/mne/preprocessing/tests/test_xdawn.py index e0c905547d2..8a647bddf20 100644 --- a/mne/preprocessing/tests/test_xdawn.py +++ b/mne/preprocessing/tests/test_xdawn.py @@ -193,12 +193,10 @@ def test_xdawn_regularization(): xd.fit(epochs) xd = Xdawn(correct_overlap=False, reg='diagonal_fixed') xd.fit(epochs) - bad_eig = check_version('numpy', '1.16.5') # some problem with newer NumPy - if bad_eig: - pytest.skip('Unknown MKL+Windows error fails for eig check') - xd = Xdawn(correct_overlap=False, reg=None) - with pytest.raises(ValueError, match='Could not compute eigenvalues'): - xd.fit(epochs) + # XXX in principle this should maybe raise an error due to deficiency? + # xd = Xdawn(correct_overlap=False, reg=None) + # with pytest.raises(ValueError, match='Could not compute eigenvalues'): + # xd.fit(epochs) @requires_sklearn diff --git a/tools/github_actions_dependencies.sh b/tools/github_actions_dependencies.sh index 407c4a29730..9dc908ac6c6 100755 --- a/tools/github_actions_dependencies.sh +++ b/tools/github_actions_dependencies.sh @@ -4,11 +4,13 @@ if [ ! -z "$CONDA_ENV" ]; then pip uninstall -yq mne elif [ ! -z "$CONDA_DEPENDENCIES" ]; then conda install -y $CONDA_DEPENDENCIES -else # pip +else # pip 3.9 python -m pip install --upgrade pip setuptools wheel pip uninstall -yq numpy - pip install -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" --pre "numpy!=1.20.0.dev0+20201111233731.0ffaaf8,!=1.20.0.dev0+20201111232921.0ffaaf8" - pip install -f "https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com" scipy pandas scikit-learn matplotlib h5py Pillow + pip install --upgrade --pre --only-binary ":all:" -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" numpy scipy pandas scikit-learn statsmodels dipy + pip install --upgrade --pre --only-binary ":all:" -f "https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com" matplotlib + wget https://osf.io/kej3v/download -O vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl + pip install vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl pip install https://github.com/pyvista/pyvista/zipball/master pip install https://github.com/pyvista/pyvistaqt/zipball/master fi From 0bd99d6133f91ea4a23f9750a1b8c0628f03f4a4 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 17 Nov 2020 11:22:35 -0500 Subject: [PATCH 2/9] FIX: No dipy or statsmodels yet --- tools/github_actions_dependencies.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/github_actions_dependencies.sh b/tools/github_actions_dependencies.sh index 9dc908ac6c6..4b62a191879 100755 --- a/tools/github_actions_dependencies.sh +++ b/tools/github_actions_dependencies.sh @@ -7,7 +7,7 @@ elif [ ! -z "$CONDA_DEPENDENCIES" ]; then else # pip 3.9 python -m pip install --upgrade pip setuptools wheel pip uninstall -yq numpy - pip install --upgrade --pre --only-binary ":all:" -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" numpy scipy pandas scikit-learn statsmodels dipy + pip install --upgrade --pre --only-binary ":all:" -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" numpy scipy pandas scikit-learn pip install --upgrade --pre --only-binary ":all:" -f "https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com" matplotlib wget https://osf.io/kej3v/download -O vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl pip install vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl From f816e0ef81684c2e41bc3a8883299bd981d8aee5 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 17 Nov 2020 11:29:29 -0500 Subject: [PATCH 3/9] FIX: Deps --- tools/github_actions_dependencies.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/github_actions_dependencies.sh b/tools/github_actions_dependencies.sh index 4b62a191879..93ba5a02d18 100755 --- a/tools/github_actions_dependencies.sh +++ b/tools/github_actions_dependencies.sh @@ -7,6 +7,7 @@ elif [ ! -z "$CONDA_DEPENDENCIES" ]; then else # pip 3.9 python -m pip install --upgrade pip setuptools wheel pip uninstall -yq numpy + pip install --upgrade --pre --only-binary ":all:" python-dateutil pytz joblib threadpoolctl pip install --upgrade --pre --only-binary ":all:" -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" numpy scipy pandas scikit-learn pip install --upgrade --pre --only-binary ":all:" -f "https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com" matplotlib wget https://osf.io/kej3v/download -O vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl From 9b312a6e2d7ce02ad7fe9ea629f65d5636b7a3e8 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 17 Nov 2020 11:40:11 -0500 Subject: [PATCH 4/9] FIX: Try again --- mne/preprocessing/tests/test_xdawn.py | 2 +- tools/github_actions_dependencies.sh | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/mne/preprocessing/tests/test_xdawn.py b/mne/preprocessing/tests/test_xdawn.py index 8a647bddf20..9f7d9a05d4f 100644 --- a/mne/preprocessing/tests/test_xdawn.py +++ b/mne/preprocessing/tests/test_xdawn.py @@ -15,7 +15,7 @@ create_info, EpochsArray) from mne.decoding import Vectorizer from mne.io import read_raw_fif -from mne.utils import requires_sklearn, check_version +from mne.utils import requires_sklearn from mne.preprocessing.xdawn import Xdawn, _XdawnTransformer base_dir = op.join(op.dirname(__file__), '..', '..', 'io', 'tests', 'data') diff --git a/tools/github_actions_dependencies.sh b/tools/github_actions_dependencies.sh index 93ba5a02d18..0c28883a3d5 100755 --- a/tools/github_actions_dependencies.sh +++ b/tools/github_actions_dependencies.sh @@ -5,17 +5,20 @@ if [ ! -z "$CONDA_ENV" ]; then elif [ ! -z "$CONDA_DEPENDENCIES" ]; then conda install -y $CONDA_DEPENDENCIES else # pip 3.9 - python -m pip install --upgrade pip setuptools wheel + python -m pip install --progress-bar off --upgrade pip setuptools wheel pip uninstall -yq numpy - pip install --upgrade --pre --only-binary ":all:" python-dateutil pytz joblib threadpoolctl - pip install --upgrade --pre --only-binary ":all:" -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" numpy scipy pandas scikit-learn - pip install --upgrade --pre --only-binary ":all:" -f "https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com" matplotlib + pip install --progress-bar off --upgrade --pre --only-binary ":all:" python-dateutil pytz joblib threadpoolctl + pip install --progress-bar off --upgrade --pre --only-binary ":all:" -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" numpy scipy pandas scikit-learn + pip install --progress-bar off --upgrade --pre --only-binary ":all:" -f "https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com" matplotlib wget https://osf.io/kej3v/download -O vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl pip install vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl - pip install https://github.com/pyvista/pyvista/zipball/master - pip install https://github.com/pyvista/pyvistaqt/zipball/master + pip install --progress-bar off https://github.com/pyvista/pyvista/zipball/master + pip install --progress-bar off https://github.com/pyvista/pyvistaqt/zipball/master + pip install --progress-bar off --upgrade --pre PyQt5 + python -c "import vtk" + python -c "import pyvistaqt" fi -pip install --upgrade -r requirements_testing.txt +pip install --progress-bar off --upgrade -r requirements_testing.txt if [ "${DEPS}" != "minimal" ]; then pip install nitime fi From f00edfe851cc860e1c1fc6166ad14184dd315505 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 17 Nov 2020 11:47:30 -0500 Subject: [PATCH 5/9] FIX: GLIBC_2.29 --- .github/workflows/linux_conda.yml | 4 +--- .github/workflows/linux_pip.yml | 6 ++---- tools/github_actions_dependencies.sh | 4 ++-- tools/setup_xvfb.sh | 4 ++++ 4 files changed, 9 insertions(+), 9 deletions(-) create mode 100755 tools/setup_xvfb.sh diff --git a/.github/workflows/linux_conda.yml b/.github/workflows/linux_conda.yml index 3123aa67d8c..28132a94e83 100644 --- a/.github/workflows/linux_conda.yml +++ b/.github/workflows/linux_conda.yml @@ -27,9 +27,7 @@ jobs: - uses: actions/checkout@v2 with: fetch-depth: 0 - - run: | - sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libopengl0 - /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; + - run: ./tools/setup_xvfb.sh name: 'Setup xvfb' - uses: conda-incubator/setup-miniconda@v2 with: diff --git a/.github/workflows/linux_pip.yml b/.github/workflows/linux_pip.yml index 466e8994463..07cfb18c0b8 100644 --- a/.github/workflows/linux_pip.yml +++ b/.github/workflows/linux_pip.yml @@ -12,7 +12,7 @@ jobs: job: if: "github.repository == 'mne-tools/mne-python' && !contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[skip github]')" name: 'py3.9' - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 defaults: run: shell: bash @@ -27,9 +27,7 @@ jobs: - uses: actions/checkout@v2 with: fetch-depth: 0 - - run: | - sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libopengl0 - /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; + - run: ./tools/setup_xvfb.sh name: 'Setup xvfb' - uses: actions/setup-python@v2 with: diff --git a/tools/github_actions_dependencies.sh b/tools/github_actions_dependencies.sh index 0c28883a3d5..03eaf5ea61b 100755 --- a/tools/github_actions_dependencies.sh +++ b/tools/github_actions_dependencies.sh @@ -4,13 +4,13 @@ if [ ! -z "$CONDA_ENV" ]; then pip uninstall -yq mne elif [ ! -z "$CONDA_DEPENDENCIES" ]; then conda install -y $CONDA_DEPENDENCIES -else # pip 3.9 +else # pip 3.9 (missing statsmodels and dipy) python -m pip install --progress-bar off --upgrade pip setuptools wheel pip uninstall -yq numpy pip install --progress-bar off --upgrade --pre --only-binary ":all:" python-dateutil pytz joblib threadpoolctl pip install --progress-bar off --upgrade --pre --only-binary ":all:" -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" numpy scipy pandas scikit-learn pip install --progress-bar off --upgrade --pre --only-binary ":all:" -f "https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com" matplotlib - wget https://osf.io/kej3v/download -O vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl + wget -q https://osf.io/kej3v/download -O vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl pip install vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl pip install --progress-bar off https://github.com/pyvista/pyvista/zipball/master pip install --progress-bar off https://github.com/pyvista/pyvistaqt/zipball/master diff --git a/tools/setup_xvfb.sh b/tools/setup_xvfb.sh new file mode 100755 index 00000000000..b7cac5ea025 --- /dev/null +++ b/tools/setup_xvfb.sh @@ -0,0 +1,4 @@ +#!/bin/bash -ef + +sudo apt-get install -yq libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libopengl0 +/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 From 235000f520cecccca6cabc2e11c9ad6ac3b235ab Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 17 Nov 2020 19:28:19 -0500 Subject: [PATCH 6/9] FIX: Missing --- mne/viz/backends/_pyvista.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mne/viz/backends/_pyvista.py b/mne/viz/backends/_pyvista.py index 4b8fa1ae041..e55c620f680 100644 --- a/mne/viz/backends/_pyvista.py +++ b/mne/viz/backends/_pyvista.py @@ -37,7 +37,7 @@ from pyvista import BackgroundPlotter from pyvista.utilities import try_callback from pyvista.plotting.plotting import _ALL_PLOTTERS -VTK9 = LooseVersion(vtk.VTK_VERSION) >= LooseVersion('9.0') +VTK9 = LooseVersion(getattr(vtk, 'VTK_VERSION', '9.0')) >= LooseVersion('9.0') _FIGURES = dict() From 2e7a695a774f7d369791062b67e14db6c5f9e860 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 17 Nov 2020 19:32:56 -0500 Subject: [PATCH 7/9] FIX: sys_info --- mne/utils/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mne/utils/config.py b/mne/utils/config.py index a0168d92098..6a537ab668e 100644 --- a/mne/utils/config.py +++ b/mne/utils/config.py @@ -562,7 +562,7 @@ def sys_info(fid=None, show_paths=False): elif mod_name in ('mayavi', 'vtk'): has_3d = True if mod_name == 'vtk': - version = mod.VTK_VERSION + version = getattr(mod, 'VTK_VERSION', 'VTK_VERSION missing') elif mod_name == 'PyQt5': version = _check_pyqt5_version() else: From 68a4f3e92f94d8472bfaae41a444ace8410e0f49 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 17 Nov 2020 20:05:44 -0500 Subject: [PATCH 8/9] FIX: Comments --- .github/workflows/linux_pip.yml | 2 +- tools/github_actions_dependencies.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linux_pip.yml b/.github/workflows/linux_pip.yml index 07cfb18c0b8..b0b5f890c38 100644 --- a/.github/workflows/linux_pip.yml +++ b/.github/workflows/linux_pip.yml @@ -12,7 +12,7 @@ jobs: job: if: "github.repository == 'mne-tools/mne-python' && !contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[skip github]')" name: 'py3.9' - runs-on: ubuntu-20.04 + runs-on: ubuntu-18.04 # same as ubuntu-latest, but more precise name defaults: run: shell: bash diff --git a/tools/github_actions_dependencies.sh b/tools/github_actions_dependencies.sh index 03eaf5ea61b..2f537f5abb2 100755 --- a/tools/github_actions_dependencies.sh +++ b/tools/github_actions_dependencies.sh @@ -10,6 +10,7 @@ else # pip 3.9 (missing statsmodels and dipy) pip install --progress-bar off --upgrade --pre --only-binary ":all:" python-dateutil pytz joblib threadpoolctl pip install --progress-bar off --upgrade --pre --only-binary ":all:" -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" numpy scipy pandas scikit-learn pip install --progress-bar off --upgrade --pre --only-binary ":all:" -f "https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com" matplotlib + # built using vtk master branch on an Ubuntu 18.04.5 VM and uploaded to OSF: wget -q https://osf.io/kej3v/download -O vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl pip install vtk-9.0.20201117-cp39-cp39-linux_x86_64.whl pip install --progress-bar off https://github.com/pyvista/pyvista/zipball/master From ecad3d36d0ddd2458f746ca2cad8211997f952df Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Tue, 17 Nov 2020 20:58:32 -0500 Subject: [PATCH 9/9] FIX: No windows --- azure-pipelines.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ea40f9a5f1d..8c06ca8ac03 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -222,9 +222,9 @@ stages: - bash: | set -e python -m pip install --upgrade pip "setuptools<50.0" - python -m pip install --upgrade --pre --only-binary ":all:" -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" numpy scipy pandas scikit-learn statsmodels dipy - python -m pip install --upgrade --pre --only-binary ":all:" -f "https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com" matplotlib - python -m pip install --upgrade --pre --only-binary vtk vtk + python -m pip install --upgrade --pre --only-binary ":all:" -i "https://pypi.anaconda.org/scipy-wheels-nightly/simple" "numpy!=1.20.0.dev0+20201111233731.0ffaaf8,!=1.20.0.dev0+20201111232921.0ffaaf8" + python -m pip install --upgrade --pre --only-binary ":all:" -f "https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com" scipy pandas scikit-learn matplotlib h5py Pillow + python -m pip install --upgrade --only-binary vtk vtk; python -m pip install https://github.com/pyvista/pyvista/zipball/master python -m pip install https://github.com/pyvista/pyvistaqt/zipball/master python -m pip install -r requirements.txt -r requirements_testing.txt codecov