pypa / pypa/packaging.python.org

document how a python project should document installing itself

Offen
#131 6 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
1.7k
Forks
1.7k
Ø Merge
3 T. 12 Std.
Gemergte PRs (30 T.)
4

Beschreibung

Right now, many many projects on PyPI document their install process as sudo pip install. This is (obviously, I hope) suboptimal.

How should projects document their installation process? It's tempting to say "just pip install", but this falls apart if:

  1. the user doesn't have a C compiler, but the project has a C extension
  2. the user doesn't have the right version of a C compiler (for example: matching up Windows compiler versions to Python versions)
  3. the project has native dependencies outside their platform's base installation package (libffi, libssl, libcrypto being popular ones, but more esoteric libraries like gtk, libpng, imagemagick, and so on also cause interesting issues)
  4. the user isn't root, doesn't have an awesome pip configuration and doesn't know about virtualenv

There's also the issue that if you use platform packages, you get automatic security updates (at least sometimes) but there doesn't appear to be any generally acknowledged "best practices" for getting security updates with pip. There isn't even any standard security-update-notification mechanism I'm aware of. Is it even possible to get PyPI to send you an email when new versions of a thing are released?

However, putting a dissertation into every project's documentation about how to install pip, virtualenv, apt, yum, nuget, homebrew, ebuild, nix, and seven other package managers is unlikely to result in a positive user experience.

Getting to the point where projects no longer have mutually contradictory documentation that provides a good experience is likely to be a long slog, but it seems like this guide should provide a starting point that projects can begin linking to so that users can get some quickstart instructions which work almost all of the time, and can have a good central reading list for understanding the subtleties associated with different ways that packages can be installed.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Prüfung der im Issue aufgeführten Installationsszenarien, einschließlich Compilern, nativer Abhängigkeiten, Benutzern ohne Root-Rechte, virtualenv, Plattformpaketen und Sicherheitsupdates. Nutze die verlinkte pip-Konfigurationsressource und die im Issue vorgeschlagene zentrale Leseliste als Kontext. Als erledigt gilt die Erstellung eines abgestimmten Leitfadens mit praktischen Quickstart-Anweisungen und klaren Hinweisen zu den Abwägungen bei Installation und Updates.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
documentation
Issue-Typ
Dokumentation
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.