MilesCranmer / PySR

High-Performance Symbolic Regression in Python and Julia
https://astroautomata.com/PySR
Apache License 2.0
2.19k stars 207 forks source link

Raise warning on statically-linked Python binaries #237

Closed MilesCranmer closed 1 year ago

MilesCranmer commented 1 year ago

Time-to-first-search is very slow on statically-linked versions of Python (such as packaged with conda), as precompiled code cannot be used, so things are compiled from scratch. I think this adds some friction to the user experience, so this PR introduces a warning that recommends the user try pyenv if startup time is important.

When https://github.com/JuliaPy/pyjulia/issues/496 is solved, this warning is no longer needed.

See https://github.com/conda-forge/python-feedstock/issues/222 for the discussion on the conda page.

mkitti commented 1 year ago

Have you ever tried a version that uses JuliaCall / PythonCall instead of pyjulia / PyCall?

MilesCranmer commented 1 year ago

I haven't yet, no. But I suppose it would be easy to try? The only tricky parts would be changing the project management/installation, as well as some of the lower-level PyJulia calls like JuliaInfo, initialization kwargs, etc.

MilesCranmer commented 1 year ago

Edit: posting this instead in the issue #238 rather than here.

MilesCranmer commented 1 year ago

Added in 49ecfff8bd4e668d9c14d335e7b737adfac49f17