-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Expand file tree
/
Copy pathinstall_pre_requirements.sh
More file actions
executable file
·76 lines (68 loc) · 2.91 KB
/
install_pre_requirements.sh
File metadata and controls
executable file
·76 lines (68 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/bash
set -eo pipefail
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
PLATFORM=$(python -c 'import platform; print(platform.system())')
echo "Installing pip-pre dependencies on ${PLATFORM}"
STD_ARGS="--progress-bar off --upgrade --pre"
QT_BINDING="PySide6"
# Dependencies of scientific-python-nightly-wheels are installed here so that
# we can use strict --index-url (instead of --extra-index-url) below
set -x
echo "::group::Prerequisites"
python -m pip install $STD_ARGS pip setuptools packaging \
threadpoolctl cycler fonttools kiwisolver pyparsing pillow python-dateutil \
patsy pytz tzdata nibabel tqdm trx-python joblib numexpr \
"$QT_BINDING!=6.9.1" \
py-cpuinfo blosc2 hatchling "formulaic>=1.1.0" \
matplotlib
python -m pip uninstall -yq numpy
echo "::endgroup::"
echo "::group::Scientific Python Nightly Wheels"
python -m pip install $STD_ARGS --only-binary ":all:" --default-timeout=60 \
--index-url "https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" \
"numpy>=2.5.0.dev0" \
"scipy>=1.18.0.dev0" \
"scikit-learn>=1.9.dev0" \
"pandas>=3.1.0.dev0" \
"dipy>=1.12.0.dev0" \
"tables>=3.10.3.dev0" \
"pyarrow>=22.0.0.dev0" \
"matplotlib>=3.11.0.dev0" \
"statsmodels>=0.15.0.dev0" \
"h5py>=3.13.0"
echo "::endgroup::"
# Until https://github.com/scikit-learn/scikit-learn/issues/33616 is fixed
python -m pip install $STD_ARGS --only-binary ":all:" "scipy==1.17.1"
# No Numba because it forces an old NumPy version
echo "::group::VTK"
# TODO: Max-pin until https://gitlab.kitware.com/vtk/vtk/-/issues/19996
python -m pip install $STD_ARGS --only-binary ":all:" --extra-index-url "https://wheels.vtk.org" "vtk<9.6.20260314.dev0"
python -c "import vtk"
echo "::endgroup::"
echo "::group::Everything else"
python -m pip install $STD_ARGS \
"git+https://github.com/pyvista/pyvista" \
"git+https://github.com/pyvista/pyvistaqt" \
"git+https://github.com/nilearn/nilearn" \
"git+https://github.com/pierreablin/picard" \
"git+https://github.com/the-siesta-group/edfio" \
https://gitlab.com/obob/pymatreader/-/archive/master/pymatreader-master.zip \
git+https://github.com/mne-tools/mne-qt-browser \
git+https://github.com/pyqtgraph/pyqtgraph \
git+https://github.com/mne-tools/mne-bids \
git+https://github.com/nipy/nibabel \
git+https://github.com/joblib/joblib \
git+https://github.com/h5io/h5io \
git+https://github.com/BUNPC/pysnirf2 \
git+https://github.com/the-siesta-group/edfio \
git+https://github.com/python-quantities/python-quantities \
trame trame-vtk trame-vuetify nest-asyncio2 jupyter ipyevents ipympl openmeeg \
imageio-ffmpeg xlrd mffpy traitlets pybv eeglabio defusedxml \
antio curryreader
echo "::endgroup::"
echo "::group::Make sure we're on a NumPy 2.0 variant"
python -c "import numpy as np; assert np.__version__[0] == '2', np.__version__"
echo "::endgroup::"
echo "::group::Check Qt import"
${SCRIPT_DIR}/check_qt_import.sh "$QT_BINDING"
echo "::endgroup::"