Watchdog: watchmedoがクラッシュします:ModuleNotFoundError:「yaml」という名前のモジュールがありません

作成日 2020年05月17日  ·  6コメント  ·  ソース: gorakhargosh/watchdog

pip install watchdogはpyyamlをインストールしなかったようです。

読み取るyamlファイルがない場合でも、watchmedoがこのパッケージをインポートしようとしなかったとしたら、それは私の場合です。

watchmedo

最も参考になるコメント

うーん..そしてpyyamlをインストールすると(パッケージとモジュールの名前が異なるためpip install yamlが機能しないため、不快ModuleNotFoundError: No module named 'argh'でクラッシュします。

arghのインストールはうまくいったようです。

全てのコメント6件

うーん..そしてpyyamlをインストールすると(パッケージとモジュールの名前が異なるためpip install yamlが機能しないため、不快ModuleNotFoundError: No module named 'argh'でクラッシュします。

arghのインストールはうまくいったようです。

両方のパッケージがextra_requirementsとして含まれているので、意識的な決定のように見えます。 どうしてこんなことに?

pip install watchdogインストールした後、 watchmedoを実行しようとしたときにも、このエラーが発生しました。
READMEに記載されているように、 watchmedoはオプションのスクリプトであり、その依存関係はpip install watchdog[watchmedo]インストールできます。

python -m pip install watchdog[watchmedo]

watchmedoとその依存関係をインストールするために使用するのに適したコマンドです。

@BoboTiGまあそれはあまり役に立ちません。 世界の他のすべてのパッケージのように、デフォルトで依存関係をインストールしないのはなぜですか? そして、最小限のコマンドだけを使用する場合、何か有用なことを伝えるのではなく、なぜそれがハードクラッシュするのでしょうか。

watchmedoは、#297以降の追加パッケージに移動されました。 これは、単純なpython -m pip install watchdog介してインストールできなくなったことを意図したものです。

watchmedoが必要な場合は、追加のパッケージをインストールします。 また、依存関係もインストールされます。

2番目のメッセージについては、 yamlがインストールされていないときにImportErrorスキップすることで、ここでの状況をわずかに改善できます。 yamlをまったく使用しない場合に機能します。

「クラッシュ」に関しては、クラッシュではありません。 エラーメッセージは非常に明白ですが:)

このページは役に立ちましたか?
0 / 5 - 0 評価