Python on Windows

The conda distribution has a well-known problem on Windows right now where it gives an incompatible SciPy binary first reported in August. You need to do export CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1 in the Windows shell to fix it, or as a conda-forge maintainer recommended, try mini-forge. That’s not the kind of issue that a basic installation should have.

Look, maybe some of you like running your own Arch Linux and finding what configuration of window managers gives you a solution that works for a month, but some of us just run away when we hit any installation issue. The conda solution has known issues with the packages people would want to use here, the first comment of this thread says we should instead use WinPython but oh, that fails with pyjulia. Literally even Microsoft recommends using WSL, did they miss something you all know?

Some package installations have never gotten everything to work on Windows. Can you please tell me why FENICS gives you a Linux-based Docker to install instead of doing it natively with your easy solutions in Windows? (Note: they used to give you a VM to download). Could you give them the quick fix? Sage had so many problems running on Windows that it wasn’t until v8 (2017) that it gave an installer that wasn’t just a VirtualBox to run a pre-installed Sage on Linux. Is that our new definition of “works perfectly”?

In the Julia ecosystem, Linux distro installations have a similar problem where some packages do not work because they build with an incompatible LLVM. We call that broken and post warning messages everywhere telling people that those installers are not supported and should never be used. Only the generic binaries on julialang.org should be used. The same exact kinds of issues show up with these Python distributions yet instead I’m supposed to agree that they “work perfectly”?

So how about this, let’s make it concrete. What is the Python distribution that has a GUI point-and-click installation where I can expect all of the major packages (numpy, scipy, tensorflow, pytorch, jax, graphx, etc.) to just work without having any other external compilers or anything installed, and has the appropriate downstream testing so that any update to Python that causes an issue with one of these packages on Windows is appropriately blocked until fixed? That’s the level of support I get on Windows with Julia, MATLAB, Mathematica, Maple, etc. We have PkgEval do this for us, with Windows buildbots and downstream tests, BinaryBuilder environments and servers vendering CUDA installations so things can work out of the box. That’s not a high bar, it’s just what’s expected in 2022.

If installing Gridap.jl on Windows required installing a Docker to work, people would say that the Julia distribution and packaging ecosystem has failed. We should not define the same behavior as “working perfectly” for Python just because we’re used to it.

5 Likes