Похоже, что pip install watchdog
не установил pyyaml.
Было бы неплохо, если бы watchmedo даже не пыталась импортировать этот пакет, если нет файла yaml для чтения, что является моим случаем.
Хм ... и когда я устанавливаю pyyaml (что было неприятно, потому что pip install yaml
не работает, так как пакет и модуль имеют разные имена), он вылетает с ModuleNotFoundError: No module named 'argh'
.
Хотя установка argh, похоже, сработала.
Я вижу, что оба пакета включены как extra_requirements, что заставляет думать, что это осознанное решение. Почему это так?
Я также столкнулся с этой ошибкой при попытке запустить watchmedo
после простой установки с помощью pip install watchdog
.
Как упоминалось в README, watchmedo
- это необязательный сценарий, и его зависимости могут быть установлены с помощью pip install watchdog[watchmedo]
.
python -m pip install watchdog[watchmedo]
- хорошая команда для установки watchmedo
и его зависимостей.
@BoboTiG ну, это не очень помогает. Почему он не устанавливает зависимости по умолчанию, как все другие пакеты в мире? И если вы используете только минимальную команду, почему она вылетает, а не сообщает вам что-то полезное?
watchmedo
был перемещен в дополнительные пакеты с # 297. Это сделано специально, чтобы его больше нельзя было установить с помощью простого python -m pip install watchdog
.
Если вы хотите watchmedo
, вы устанавливаете дополнительный пакет. И зависимости тоже будут установлены.
Что касается второго сообщения, мы могли бы немного улучшить ситуацию, пропустив ImportError
когда yaml
не установлен. Это сработает, если вообще не использовать yaml
.
Что касается "краха": это не крах. Однако сообщение об ошибке довольно явное :)
Самый полезный комментарий
Хм ... и когда я устанавливаю pyyaml (что было неприятно, потому что
pip install yaml
не работает, так как пакет и модуль имеют разные имена), он вылетает сModuleNotFoundError: No module named 'argh'
.Хотя установка argh, похоже, сработала.