Source: scipy Followup-For: Bug #1020561 I appreciate the dilemma, but I think we won't be able to avoid it.
As you noticed, it's not scipy that needs c++, it's pythran. pythran is recommended by scipy developers upstream. The purpose of pythran is to accelerate scipy execution by runtime generation of optimized machine code for particular functions and algorithms. The way pythran works is that it generates at runtime a C++ code block to replace the scipy operatoin in question. The piece of code is then compiled to furnish the machine code that provides the acceleration, taking advantage of CPU optimisations for the local processor that scipy is running on. So availability of a C++ compiler is intrinsic to the way pythran operates. To avoid the C++ compiler then, the choice would have to be to not use pythran with scipy. But the speed-up advantage provided by pythran is supposed to be substantial. In the trade-off between disk storage and execution performance, disk storage comes second to performance. Unfortunately as far as I know we don't have the facility to choose whether to use pythran or not at runtime. The scipy binary package has to be configured at build-time to either use pythran, or not use it at all. I don't think we want to stop using pythran with scipy. But the cost of using it is the requirement to make the C++ compiler available.