-
Notifications
You must be signed in to change notification settings - Fork 149
Description
Summary: Choice of interpreter really matters on new installs.
The install guide does not caution against using interpreter 3.13, a trap that at least one new user fell into:
Minimally, mention interpreter versions the install docs have been tested against, and discourage using untested interpreters. Could be the addition of a single sentence.
More helpfully, instruct users to configure a new environment with a specific interpreter version, perhaps 3.11.8. Using an untested interpreter such as 3.13.1 produces a long error message which is not as diagnostic as new users would like to see. They need to be guided away from untested versions, and told (if they stray) to use a tested version.
Steps to reproduce:
- Choose an untested interpreter, then follow the install guide's instructions, as detailed in the SO question.
Expected behavior
Starting with an untested interpreter should "fail early", giving a helpful diagnostic message that puts a newbie back on the right path.
After installing and activating the environment, python -c "climada" should silently succeed.
Climada Version: 5.0.0
System Information:
- Operating system and version: macOS 15.1
- Python version: 3.11.11 wins, 3.12.8 wins, 3.13.1 loses, all of which is the expected behavior
Additional context
I agree with you that conda (mamba) is a terrific tool for dealing with binary deps in a complex build. Over the course of many years I have helped lots of newbies with conda setup. A project should not change its build tooling lightly.
But the python packaging ecosystem has come a long way lately. Uv is a reaction to what came before. It's faster than pip, and much faster than conda, leading to a qualitative difference in how engineers interact with packaging. To rm -rf .venv/ and rebuild suddenly is no big deal, rather than something to dread. Quick experiments happen, and learning is accelerated. Crucially, it lets us specify interpreter version, and then easily change it to another version.
Not everyone who interacts with the Climada project is a project member, and they may have a smaller set of packaging needs than each of you do. Please consider incorporating some of that Stack Overflow post's answer into a script, example config file, documentation, or a workflow that you encourage newcomers to follow. Let them reap some of uv's benefits. And then by the time you release 6.0.0 or even 8.0.0, you may have have enough comfort level and experience with uv that you want to make changes more substantial than the doc improvements suggested in the current issue. Thx!