Watchdog: watchmedo stürzt ab: ModuleNotFoundError: Kein Modul namens 'yaml'

Erstellt am 17. Mai 2020  ·  6Kommentare  ·  Quelle: gorakhargosh/watchdog

Scheint, als hätte pip install watchdog pyyaml ​​nicht installiert.

Es wäre schön, wenn watchmedo nicht einmal versuchen würde, dieses Paket zu importieren, wenn es auch keine yaml-Datei zum Lesen gibt, was bei mir der Fall ist.

watchmedo

Hilfreichster Kommentar

Hmm.. und wenn ich pyyaml ​​installiere (was unangenehm war, weil pip install yaml nicht funktioniert, da das Paket und das Modul unterschiedliche Namen haben), stürzt es mit ModuleNotFoundError: No module named 'argh' .

Die Installation von argh scheint jedoch funktioniert zu haben.

Alle 6 Kommentare

Hmm.. und wenn ich pyyaml ​​installiere (was unangenehm war, weil pip install yaml nicht funktioniert, da das Paket und das Modul unterschiedliche Namen haben), stürzt es mit ModuleNotFoundError: No module named 'argh' .

Die Installation von argh scheint jedoch funktioniert zu haben.

Ich sehe, dass beide Pakete als extra_requirements enthalten sind, was es wie eine bewusste Entscheidung erscheinen lässt. Warum ist das so?

Ich bin auch auf diesen Fehler gestoßen, als ich versuchte, watchmedo auszuführen, nachdem ich einfach mit pip install watchdog installiert hatte.
Wie in der README erwähnt, ist watchmedo ein optionales Skript und seine Abhängigkeiten können mit pip install watchdog[watchmedo] installiert werden.

python -m pip install watchdog[watchmedo]

ist der gute Befehl, um watchmedo und seine Abhängigkeiten zu installieren.

@BoboTiG Nun , das ist nicht sehr hilfreich. Warum installiert es nicht standardmäßig Abhängigkeiten wie alle anderen Pakete der Welt? Und wenn Sie nur den minimalen Befehl verwenden, warum stürzt es hart ab, anstatt Ihnen etwas Nützliches zu sagen?

watchmedo wurde seit #297 in zusätzlichen Paketen verschoben. Dies ist mit der Absicht, dass es nicht mehr über ein einfaches python -m pip install watchdog installiert werden kann.

Wenn Sie watchmedo möchten, installieren Sie das zusätzliche Paket. Und Abhängigkeiten werden auch installiert.

Was die zweite Nachricht betrifft, könnten wir die Situation hier etwas verbessern, indem wir ImportError überspringen, wenn yaml nicht installiert ist. Es würde funktionieren, wenn man yaml überhaupt nicht verwendet.

Was den "Absturz" angeht: Es ist kein Absturz. Die Fehlermeldung ist jedoch ziemlich explizit :)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen