pypa / pypa/packaging.python.org

Suggestion: Have a "Quick Start" guide

Open
#688 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.7k
Forks
1.7k
Avg merge
3d 12h
Merged PRs (30d)
4

Description

I think it would be great if in addition to the in depth tutorial, there is actually a quick start guide.

To elaborate, if a brand new user of Python lands on https://pypi.org/, they see a link that says "learn about installing packages" that takes them to the tutorial. The tutorial is very lengthly, explains about the requirements, about venvs, about installing from requirements file and so on.

All of these are fine and useful for someone who comes to the page to really learn about how the installer works.

Consider scenario of a newcomer to Python, who isn't really in it to learn how pip works. Perhaps they were told by coworker or someone, "just use django/numpy/pillow/etc. All you need is Python and then pip install it". In this situation, their main goal is start using the third party libraries. So what happens then? They did exactly that: download Python from python.org, (3.8 because its new), and immediately typed pip install ... (that's what they were told). Did not have time to learn about pip/venv/ whatsover. But as you can predict, it doesn't work. For example, in MacOS, pip install ... likely installs it to their Python 2.

When people come to me with this problem, the easy answer I gave them usually is simply "you need to do python3.8 -m pip install .. and preferably in virtual environment". That's usually enough answer for them, they're not looking to learn about pip/virtualenv/packaging. They just want to start using the third party library.

The above scenario happens quite often, and I've been thinking a lot on how to improve the experience for people in these scenarios.

Some questions I asked myself:

  • should Python installer be improved? Should it teach people about pip/venv, etc? At the moment, the Mac installer provides a link to PyPI, which links to the tutorial.

  • should Python.org download page be improved? Should it be more explicit and say "you may need pip/virtual environment in order to install additional packages." At the moment, all we have is a link at the very bottom (way past all other info like, license, gpg key, release schedule etc), and all it says "looking for 3rd party modules? go to PyPI!". It is not clear to a new comer that this is where they need to go if they are going to install anything with pip.

  • when we land on pypi.org, pip is not mentioned anywhere. How would a newcomer, who was told to pip install X knows that they should be going to the tutorial page?

Since pypi.org is the place we point people to (from Python installer and from python.org downloads page), I wonder then, perhaps, a small step to improve this experience is if there is a quick "Howto". For example, a quick blurb that says: "to install a package do: python -m pip install X. Go to tutorial to learn more!"

So that's the background on why I'm suggesting this improvement. Thanks for considering, and let me know if I can help clarify anything, and sorry for rambling a bit.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the linked installing-packages tutorial and the current links from pypi.org and the Python downloads page. Define where a quick-start guide should appear and what newcomer-facing installation guidance it should contain; done means the proposed path clearly leads beginners to a working package-install command and the fuller tutorial.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.