pip uninstall: "Не найдено файлов для удаления."

Я создал модуль Python, назовите его "foo_bar".

Я могу установить его и обновить его, но не могу удалить его.

Я строю свой модуль, используя bdist_wheel:

$ python3 setup.py bdist_wheel

И я устанавливаю и обновляю его следующим образом:

$ python3 -m pip --timeout 60 install --upgrade dist/foo_bar-1.4.3-py3-none-any.whl

Он находится в каталоге фреймворка Python 3.4:

ls -al /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/
drwxr-xr-x   12 samwise  admin     408 Jun 21 02:50 foo_bar
drwxr-xr-x    9 samwise  admin     306 Jun 21 02:50 foo_bar-1.4.3.dist-info

И это перечислено в пипсовке:

$ python3 -m pip freeze
foo-bar==1.4.3

Тем не менее, если я пытаюсь выполнить удаление pip, он не может найти свои файлы

$ python3 -m pip uninstall foo-bar
Can't uninstall 'foo-bar'. No files were found to uninstall.

Я что-то не так сделал в своем файле setup.py, чтобы не найти файлы моих модулей во время удаления?

Информация о версии выглядит следующим образом:

$ python3 --version
Python 3.4.4
$ python3 -m pip --version
pip 8.1.2 from /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages (python 3.4)

5 ответов

Я была такая же проблема. С помощью verbose помог мне узнать чуть больше причину:

$ pip3 uninstall --verbose my-homemade-package
Not sure how to uninstall: my-homemade-package e48e635 - Check: /home/olivier/my-homemade-package
Can't uninstall 'my-homemade-package'. No files were found to uninstall.

Удаление всего, что было 'my-homemade-package' связано с /usr/local/python2.x а также /usr/local/python3.x не помогло.

Я сделал pip3 show my-homemade-package и получил расположение установленного пакета на моем компьютере:

$ pip3 show my-homemade-package
Name: my-homemade-package
Version: e48e635
Summary: My Home Made package
Home-page: UNKNOWN
Author: UNKNOWN
Author-email: UNKNOWN
License: Proprietary
Location: /home/olivier/my-homemade-package
Requires: pyOpenSSL, pyasn1, protobuf

Удаление /home/olivier/my-homemade-package Разобрался с проблемой (т.е. пакет не был указан).

Итак, у меня была проблема, аналогичная OP. Я мог бы установить свой пакет с помощью pip install dist/mypackage.tar.gz. Установка будет работать нормально, но в конце будет отображаться Can't uninstall 'mypackage'. No files were found to uninstall., и действительно не будет работать позже.

Звучит глупо, но у меня сработало сменить рабочий каталог : как только я ушел mypackage/ каталог pip uninstall mypackage работал.

Это старый пост, но он был лучшим результатом в Google. Приведенные выше ответы верны, однако в моем случае все еще была строка /usr/local/lib/python3.6/site-packages/easy-install.pth, которую мне пришлось удалить после удаления файлов яиц.

У меня возникла такая проблема, когда я переименовал свой модуль в setup.py.

Старый каталог все еще существовал в my_moduleкаталог. Итак, когда я установил модуль с pip install -e . пип создал линию в python3.8/site-packages/easy-install.pthуказывая на каталог модуля. После этого модуль был указан с обоими именами: и old-name. И когда я попытался удалить старый модуль с помощью pip remove old-name pip показал ошибку:

      Found existing installation: old-name 0.3.0
Can't uninstall 'old-name'. No files were found to uninstall.

Решением было удалить каталог old_name.egg-infoиз каталога модуля. После этого pip list показывает только new-name.

Вероятно, это не прямой ответ на исходное сообщение, а одно из решений проблемы в названии темы.

Проблема: пользователь не может удалить пакет python, установленный через pip:

      pip uninstall youtube-dl
Found existing installation: youtube-dl 2021.12.17
Not uninstalling youtube-dl at /usr/lib/python3/dist-packages, outside environment /usr
Can't uninstall 'youtube-dl'. No files were found to uninstall.

Причина: PEBKAC.

Ну, простой

      apt purge youtube-dl

сделал трюк. Был установлен системный пакет «youtube-dl» с указанной версией:

      dpkg -l youtube-dl
ii  youtube-dl     2021.12.17-1~nd110+1

В то же время пользователи устанавливали пакеты локально, используя pip. Оба пакета одной версии (2021.12.17). И оба способа (apt и pip) ссылаются на пакеты с одним и тем же именем. Выяснилось, что это сбивает пользователей с толку.

Следующий уровень: установите пакет тремя способами: apt, pip --system и простой pip от имени пользователя. Может быть, пип как root (локально) FWIW тоже.

Другие вопросы по тегам