Pip: فشل "pip uninstall" عند استدعائه في دليل مصدر الحزمة

تم إنشاؤها على ١٢ يوليو ٢٠١٩  ·  3تعليقات  ·  مصدر: pypa/pip

بيئة

  • إصدار النقطة: 19.1.1
  • إصدار Python: 3.6.8
  • نظام التشغيل: macOS

وصف

لقد قمت بتثبيت حزمة محلية ، spam ، باستخدام python3 -m pip install --user . . إذا حاولت إلغاء تثبيت الحزمة الخاصة بي عندما يكون مجلد الحزمة في الدليل الحالي ، فسأحصل على ما يلي:

$ pwd
/Users/me/spam
$ ls
README.md  setup.cfg  setup.py  test  tox.ini  spam
$ python3 -m pip uninstall --verbose spam
Not sure how to uninstall: spam 0.0.1 - Check: /Users/me/spam  # this line only shown with --verbose flag
Can't uninstall 'spam'. No files were found to uninstall.

يكتمل إلغاء التثبيت بنجاح عندما أقوم بتشغيله من دليل مختلف:

$ cd \tmp && python3 -m pip uninstall --verbose spam
# successfully uninstalls...

سلوك متوقع
لم أتوقع أن يكون uninstall حساسًا لمحتويات الدليل المحلي. إذا كان هذا هو السلوك المتوقع لأسباب فنية ، فسأغير الرسالة stderr Can't uninstall 'spam'. No files were found to uninstall. لتكون أكثر فائدة في الإشارة إلى أن الفشل قد يكون بسبب وجود مجلد محلي باسم الحزمة الهدف.

UX UX- error messages enhancement

التعليق الأكثر فائدة

pfmoore أعتقد أن رسالتك المعدلة هي بالتأكيد تحسين (وكان من الممكن أن توفر لي بعض الوقت) ، لكنني سأذهب إلى أبعد من ذلك. ماذا عن شيء أكثر إفادة ، مثل Can't uninstall 'spam' (in current directory). No files were found to uninstall.\nTo uninstall 'spam' from the system library, run the same command from a directory without a 'spam' directory. (وقم بتغيير system library إذا كان هناك مصطلح أكثر دقة). هل هذا مطول جدا؟

يبدو أن المرة الوحيدة التي قد يصطدم فيها شخص ما بهذه الرسالة هي إذا كان في وضع مشابه لي. قد أكون مخطئًا ، لكن إلغاء التثبيت من الدليل الحالي مثل cd path/to/site-packages && python3 -m pip uninstall spam يبدو وكأنه حالة استخدام هامشية ، وإذا كان شخص ما يعرف ما يكفي للقيام بذلك ، فإن الرسالة التي تم ضبطها للمتنفسين من أمثالي لن تربكهم.

يبدو أن معظم المستخدمين يفترضون - مثلما فعلت ؛-) - أن uninstall سيذهب بطريقة سحرية للعثور على الحزمة في مكتبة النظام.

ال 3 كومينتر

ربما تعديل الخطأ في هذه الحالة ليقول Can't uninstall 'spam' (found in current directory). No files were found to uninstall. ؟

pfmoore أعتقد أن رسالتك المعدلة هي بالتأكيد تحسين (وكان من الممكن أن توفر لي بعض الوقت) ، لكنني سأذهب إلى أبعد من ذلك. ماذا عن شيء أكثر إفادة ، مثل Can't uninstall 'spam' (in current directory). No files were found to uninstall.\nTo uninstall 'spam' from the system library, run the same command from a directory without a 'spam' directory. (وقم بتغيير system library إذا كان هناك مصطلح أكثر دقة). هل هذا مطول جدا؟

يبدو أن المرة الوحيدة التي قد يصطدم فيها شخص ما بهذه الرسالة هي إذا كان في وضع مشابه لي. قد أكون مخطئًا ، لكن إلغاء التثبيت من الدليل الحالي مثل cd path/to/site-packages && python3 -m pip uninstall spam يبدو وكأنه حالة استخدام هامشية ، وإذا كان شخص ما يعرف ما يكفي للقيام بذلك ، فإن الرسالة التي تم ضبطها للمتنفسين من أمثالي لن تربكهم.

يبدو أن معظم المستخدمين يفترضون - مثلما فعلت ؛-) - أن uninstall سيذهب بطريقة سحرية للعثور على الحزمة في مكتبة النظام.

ربما سيكون "جهاز الكمبيوتر الخاص بك" أفضل من "مكتبة النظام"؟

تكرار على اقتراحك reynoldsnlp :

لا يمكن إزالة "البريد العشوائي" (في الدليل الحالي). لم يتم العثور على ملفات لإلغاء تثبيتها. \ n لإلغاء تثبيت "البريد العشوائي" من جهاز الكمبيوتر الخاص بك ، قم بتشغيل نفس الأمر من دليل لا يحتوي على دليل "بريد عشوائي".

هل هو أوضح؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات