Watchdog: watchmedo se bloquea: ModuleNotFoundError: Ningún módulo llamado 'yaml'

Creado en 17 may. 2020  ·  6Comentarios  ·  Fuente: gorakhargosh/watchdog

Parece que pip install watchdog no instaló pyyaml.

Sería bueno si watchmedo ni siquiera intentara importar este paquete si no hay un archivo yaml para leer también, que es mi caso.

watchmedo

Comentario más útil

Hmm ... y cuando instalo pyyaml ​​(lo cual fue desagradable, porque pip install yaml no funciona ya que el paquete y el módulo tienen nombres diferentes), se bloquea con ModuleNotFoundError: No module named 'argh' .

Sin embargo, la instalación de argh parece haber funcionado.

Todos 6 comentarios

Hmm ... y cuando instalo pyyaml ​​(lo cual fue desagradable, porque pip install yaml no funciona ya que el paquete y el módulo tienen nombres diferentes), se bloquea con ModuleNotFoundError: No module named 'argh' .

Sin embargo, la instalación de argh parece haber funcionado.

Veo que ambos paquetes están incluidos como extra_requirements, lo que hace que parezca una decisión consciente. ¿Por qué es así?

También encontré este error al intentar ejecutar watchmedo después de simplemente instalar con pip install watchdog .
Como se menciona en el archivo README, watchmedo es un script opcional y sus dependencias se pueden instalar con pip install watchdog[watchmedo] .

python -m pip install watchdog[watchmedo]

es un buen comando para instalar watchmedo y sus dependencias.

@BoboTiG bueno, eso no es muy útil. ¿Por qué no instala las dependencias de forma predeterminada como todos los demás paquetes del mundo? Y si usa solo el comando mínimo, ¿por qué se bloquea en lugar de decirle algo útil?

watchmedo se movió en paquetes adicionales desde el # 297. Esto es a propósito de que ya no se puede instalar mediante un simple python -m pip install watchdog .

Si desea watchmedo , instale el paquete adicional. Y las dependencias también se instalarán.

En cuanto al segundo mensaje, podríamos mejorar ligeramente la situación aquí omitiendo ImportError cuando yaml no está instalado. Funcionaría cuando uno no usa yaml en absoluto.

En cuanto al "choque": no es un choque. Sin embargo, el mensaje de error es bastante explícito :)

¿Fue útil esta página
0 / 5 - 0 calificaciones