pypa / pypa/packaging.python.org

document how a python project should document installing itself

Aperta
#131 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Python
Stelle
1.7k
Fork
1.7k
Merge medio
3g 12h
PR unite (30g)
4

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia esaminando gli scenari di installazione elencati nell’issue, inclusi compilatori, dipendenze native, utenti non-root, virtualenv, pacchetti della piattaforma e aggiornamenti di sicurezza. Usa come contesto la risorsa collegata sulla configurazione di pip e la lista di lettura centrale proposta nell’issue. Il lavoro sarà considerato completato quando sarà prodotta una guida concordata con istruzioni pratiche per il quickstart e indicazioni chiare sui compromessi relativi all’installazione e agli aggiornamenti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
documentation
Tipo di issue
Documentazione
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.