python3 - كيفية إلغاء تثبيت الحزمة المثبتة مع تثبيت نقطة-المستخدم




python version (5)

يوجد خيار - --user لـ pip والذي يمكنه تثبيت حزمة Python لكل مستخدم:

pip install --user [python-package-name]

لقد استخدمت هذا الخيار لتثبيت حزمة على خادم لا أملك له حق الوصول إلى الجذر. ما أحتاجه الآن هو إلغاء تثبيت الحزمة المثبتة على المستخدم الحالي. حاولت تنفيذ هذا الأمر:

pip uninstall --user [python-package-name]

لكني حصلت على:

no such option: --user

كيف يمكنني إزالة تثبيت الحزمة التي قمت بتثبيتها باستخدام pip install --user ، بخلاف البحث عن الحزمة وحذفها يدويًا؟

لقد وجدت هذا المقال

لا يمكن إلغاء تثبيت pip من دليل حزم موقع لكل مستخدم

الذي يصف أن إلغاء تثبيت الحزم من دليل المستخدم غير معتمد. وفقا للمادة إذا تم تنفيذها بشكل صحيح ثم مع

pip uninstall [package-name]

سيتم أيضًا البحث عن الحزمة التي تم تثبيتها في دلائل المستخدم. ولكن لا تزال هناك مشكلة بالنسبة لي. ماذا لو تم تثبيت نفس الحزمة على مستوى النظام ولكل مستخدم؟ ماذا لو احتاج شخص ما لاستهداف دليل مستخدم معين؟


أقوم بتشغيل إصدار Anaconda 4.3.22 وبيئة python3.6.1 ، وقد واجهت هذه المشكلة. إليك التاريخ والإصلاح:

pip uninstall opencv-python # -- the original step. failed.

ImportError: DLL load failed: The specified module could not be found.

أنا فعلت هذا في بلدي بيئة python3.6 وحصلت على هذا الخطأ.

python -m pip install opencv-python # same package as above.
conda install -c conda-forge opencv # separate install parallel to opencv
pip-install opencv-contrib-python # suggested by another user here. doesn't resolve it.

بعد ذلك ، حاولت تنزيل python3.6 ووضع python3.dll في المجلد وفي مجلدات مختلفة. لا شيء تغير.

أخيرًا ، حل هذا الأمر:

pip uninstall opencv-python

(لا يزال إصدار conda-forge الآخر مثبتًا) ترك هذا فقط إصدار conda ، ويعمل في 3.6.

>>>import cv2
>>>

العمل!


الجواب غير ممكن بعد . يجب عليك إزالته يدويًا.


كما ذكر @ thomas-lotze ، فإن أدوات pip في الوقت الحالي لا تفعل ذلك نظرًا لعدم وجود خيار مستخدم مناسب. ولكن ما أجده هو أنه يمكنني التحقق من ~ / .local / bin والبحث عن النقطة المحددة #. # التي تبدو لي وكأنها تتوافق مع خيار --user.

في حالتي:

[email protected]: ~/.l/bin$ pwd
/home/antho/.local/bin
[email protected]: ~/.l/bin$ ls pip*
pip  pip2  pip2.7  pip3  pip3.5

ثم قم فقط بإلغاء التثبيت مع إصدار النقطة المحدد.


كن حذرا ، بالنسبة لأولئك الذين يستخدمون pip install --user some_pkg داخل بيئة افتراضية .

$ path/to/python -m venv ~/my_py_venv
$ source ~/my_py_venv/bin/activate
(my_py_venv) $ pip install --user some_pkg
(my_py_venv) $ pip uninstall some_pkg
WARNING: Skipping some_pkg as it is not installed.
(my_py_venv) $ pip list
# Even `pip list` will not properly list the `some_pkg` in this case

في هذه الحالة ، يجب عليك إلغاء تنشيط البيئة الافتراضية الحالية ، ثم استخدام python / pip المقابل القابل للتنفيذ لسرد حزم مواقع المستخدم أو إلغاء تثبيتها:

(my_py_venv) $ deactivate
$ path/to/python -m pip list
$ path/to/python -m pip uninstall some_pkg

لاحظ أنه تم الإبلاغ عن هذه المشكلة منذ بضع سنوات . ويبدو أن الاستنتاج الحالي هو: - --user غير صالح داخل نقطة env الظاهرية ، لأن موقع المستخدم لا --user حقًا بيئة افتراضية.


يمكنك إلغاء تثبيت جميع الحزم في وقت واحد.

1. First, install pip-purge.

  pip install pip-purge

2. Then, Run

    pip-purge

تأكد من تشغيل فقط في virtualenv







virtualenv