Anhang: Analyse der Installer-Nutzung auf PyPI
Hinweis
Diese Analyse ist nicht perfekt. Während sie die besten verfügbaren Daten verwendet, könnten Spiegelserver, Caches von Unternehmen und andere störende Faktoren die Zahlen in dieser Analyse beeinflussen. Betrachten Sie die Zahlen als Trends und nicht als konkrete, zuverlässige Ergebnisse.
Eine wichtige Frage für PEP 777 ist, wie häufig Python-Benutzer ihren Installer aktualisieren. Wenn Benutzer recht häufig aktualisieren, sind Kompatibilitätsprobleme weniger wichtig; Benutzer werden auf dem neuesten Stand sein, wenn neue Funktionen hinzugefügt werden. Wenn Benutzer jedoch häufig ältere Installer verwenden, hätten inkompatible Wheels auf PyPI eine viel größere Auswirkung. Um den relativen Anteil von aktuellen gegenüber veralteten Installern zu ermitteln, können wir PyPI-Downloadstatistiken verwenden.
PyPI veröffentlicht ein BigQuery-Datensatz, der Informationen über jeden Download enthält, den PyPI erhält, einschließlich des Installer-Namens und der Version, sofern verfügbar. Die folgende Abfrage wurde verwendet, um die Daten für diese Analyse zu sammeln.
#standardSQL
SELECT
details.installer.name as installer_name,
details.installer.version as installer_version,
COUNT(*) as num_downloads,
FROM `bigquery-public-data.pypi.file_downloads`
WHERE
-- Only query the last 6 months of data
DATE(timestamp)
BETWEEN DATE_TRUNC(DATE_SUB(CURRENT_DATE(), INTERVAL 6 MONTH), MONTH)
AND CURRENT_DATE()
GROUP BY `installer_name`, `installer_version`
ORDER BY `num_downloads` DESC
Mit den verfügbaren Rohdaten können wir untersuchen, wie aktuell die Installer sind, die Pakete von PyPI herunterladen. Die folgende Grafik zeigt die Aufschlüsselung nach Installer-Namen aller Downloads auf PyPI für den Sechsmonatszeitraum vom 10. März 2024 bis zum 10. September 2024.
Wie oben ersichtlich ist, ist pip der beliebteste Installer in diesem Zeitraum. Der Einfachheit halber konzentriert sich diese Analyse auf pip-Installationen, wenn es darum geht, wie aktuell Installer sind. pip existiert schon lange, daher sollte die Analyse der pip-Version, die zum Herunterladen von Paketen verwendet wird, einen Hinweis darauf geben, wie häufig Benutzer ihre Installer aktualisieren. Nachfolgend finden Sie eine Grafik, die die Installationen auf PyPI im selben Sechsmonatszeitraum aufschlüsselt, nun gruppiert nach der Hauptversion des pip-Installers. pip verwendet eine Kalenderversionierung, daher bedeutet eine Installation von pip 20.x, dass der Benutzer sein pip seit vier Jahren nicht aktualisiert hat.
Mehr als zwei Drittel der Benutzer verwenden derzeit pip aus diesem oder dem letzten Jahr. Etwa 7% verwenden jedoch eine Version, die mindestens vier Jahre alt ist (!). Dies deutet darauf hin, dass es eine lange Schlange von Benutzern gibt, die ihre Installer nicht regelmäßig aktualisieren.
Zurück zur ursprünglichen Frage für PEP 777: Es scheint ratsam zu sein, Vorsicht walten zu lassen, wenn Wheels mit der Hauptversion 2 auf PyPI veröffentlicht werden, da diese wahrscheinlich Probleme mit einem kleinen, aber signifikanten Anteil von Benutzern verursachen werden, die ihr pip nicht regelmäßig aktualisieren.