-
Notifications
You must be signed in to change notification settings - Fork 0
Description
It is a vexed question as to which installation method we should recommend for complete beginners, with various trade-offs and issues. For example, see discussion in Scipy.org PR installation page, where the current state of that page is: Scipy beginner installation guide.
It would be very useful to set out the issues that one might consider in recommending a user install method, so the projects can either defer to a central page - perhaps based at scientific-python, or modify their advice to their own taste.
At a first pass, here are some issues that would benefit from wise and experienced reflection:
- There are different types of beginners. Some beginners already know their way around computers; they know how to edit configuration files, and they have a fluent understanding of filesystems, and the use of the terminal. Many beginners - such as absolute beginners in a data science or statistics class - do not have such knowledge.
- In general, many installation pages target relatively experienced computer users.
- Most of us writing such pages are extremely experienced computer users.
- We experts tend to see more experienced or committed beginners.
- Some tools and workflows that seem natural and desirable to experienced users are major barriers to beginners. Virtualenvs are one example - but an important one, as
piphas increasingly tried to force users to use virtualenvs, anduvhas a similar approach. - The change in Anaconda's terms of use have made Anaconda installs more ambiguous as a default method for beginners.
- Pip's move to force users to use virtualenvs has made system installs of Python considerably less friendly to beginners - for example via Homebrew - see https://github.com/orgs/Homebrew/discussions/3404 .
- Some installation tools have installation methods that also need some experience to understand and use. I would argue Mamba is one such example.
So - it would be useful to take some time to lay out the options, note the tradeoffs, and set out the sources of confusion and difficulty that true beginners may have. We could then follow up with a standard set of guideliness, perhaps with different flavors for those more or less tolerant of the various downsides that we identify. We might also work with the installation tool authors to find ways of making it easier for true beginners to install the installation tools.