Make Pythran a required build dependency (original) (raw)
Pythran has been an opt-out build dependence since SciPy 1.7; we’ve been toying with the idea of removing the opt-out for a while (way longer than the RFC issue exists).
I propose to make this official for 1.14.
rgommers April 12, 2024, 8:02am 2
We haven’t had many issues with Pythran in the last 2 years, and the ones we did have were resolved pretty swiftly. So from that perspective it seems fine to make Pythran required.
I did have a quick search for use of -Duse-pythran=false, and found that two distros build with that flag set by default:
- Termux: https://github.com/termux/termux-packages/blob/ and https://github.com/knyipab/tur/blob/ce123f82206744f77dfb7166c5d2a21c25dacefd/tur/python-scipy/build.sh#L31fa856888326f1087c31feaaf15164984f872d3fb/packages/python-scipy/build.sh#L22
- PTXdist: ptxdist/rules/python3-scipy.make at 65365688811e7081a6b604be1f41c5ccdaf7e75a · LeSpocky/ptxdist · GitHub
Before taking this decision, it should be investigated what the problem exactly is there.
Did anyone reach out to Termux/PTXdist? It looks like the authors of those flags are licy183 (Chongyun Lee) · GitHub and michaelolbrich (Michael Olbrich) · GitHub respectively.
stefanv April 6, 2025, 3:37pm 4
One potential problem: in the Windows Intel oneAPI job we set -Duse-pythran=False
(scipy/.github/workflows/windows_intel_oneAPI.yml at 41641c2574363ccde8a9177004082e12e18aef71 · scipy/scipy · GitHub) because MSVC chokes on Pythran, and it sounded from MSVC throws errors in Pythran code of SciPy · Issue #2215 · serge-sans-paille/pythran · GitHub like that isn’t in the pipeline to change.
Is this a blocker, or is there any chance of moving away from MSVC for oneAPI on Windows? cc @czgdp1807 @rgommers
rgommers April 7, 2025, 12:56pm 7
I’m fine with the status quo actually. There isn’t that much to gain from making Pythran required, and being able to not use it has been a useful workaround for build problems multiple times in the past. And yes, the MSVC situation is an issue - we don’t use MSVC ourselves, but in principle we do allow users to build with MSVC + Intel Fortran.