Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Misuse of quit() in api.py; Use of SystemExit(1) + narrow exception handling

Offen
#1,663 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
1/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
50/100
Issue-Typ
Refactoring
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
api

Rechercherichtung

Beginne in face_recognition/api.py ungefähr bei den Zeilen 8–13, wo face_recognition_models importiert wird und der breite Ausnahme-Handler vor dem Aufruf von quit() Installationsanweisungen ausgibt. Schränke die Ausnahmebehandlung ein und ersetze das Exit-Verhalten wie angefordert. Fertig ist die Änderung, wenn weiterhin die angegebene Installationsnachricht angezeigt wird, wenn Abhängigkeiten fehlen, und das Modul mit Status 1 beendet wird, ohne andere Importfehler zu verschleiern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

In face_recognition/api.py:

  • The try/except block on lines 8-13 catches a broad Exception and then calls quit. Code below:

try:
import face_recognition_models
except Exception:
print("Please install face_recognition_models with this command before using face_recognition:\n")
print("pip install git+https://github.com/ageitgey/face_recognition_models")
quit()

Using ImportError instead of except Exception can prevent masking of unrelated errors, like syntax errors, that may happen during an import. Since the block calls an import and specifically checks for missing dependencies, use of ImportError is more focused on the codes specific purpose.

For the quit() --> SystemExit(1) suggestion, quit() isn't guaranteed to exist in all execution envs. Raising SystemExit(1) is more universal and serves the same purpose, preventing any disruption in existing code. SystemExit(1) also has the benefit of not needing an import to function.

Vorherrschende Sprache
Python
Sterne
56.8k
Forks
13.7k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus ageitgey/face_recognition

Alle Issues in ageitgey/face_recognition

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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