يبدو أن pip install watchdog
لم يقم بتثبيت pyyaml.
سيكون من الرائع لو لم يحاول watchmedo حتى استيراد هذه الحزمة إذا لم يكن هناك ملف yaml لقراءته أيضًا ، وهذا هو حالتي.
حسنًا .. وعندما أقوم بتثبيت pyyaml (والذي كان غير سار ، لأن pip install yaml
لا يعمل لأن الحزمة والوحدة هما اسمان مختلفان) ، فإنه يتعطل مع ModuleNotFoundError: No module named 'argh'
.
يبدو أن تثبيت argh قد نجح بالرغم من ذلك.
أرى كلتا الحزمتين متضمنتين كطلبات_إضافية ، مما يجعل الأمر يبدو وكأنه قرار واع. لماذا هذا؟
لقد واجهت هذا الخطأ أيضًا عند محاولة تشغيل 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 قد نجح بالرغم من ذلك.