7

pip использует неверную кэшированную версию пакета вместо указанной пользователем версии

1

Я сталкиваюсь с проблемой установки конкретной версии psycopg2 — 2.4.1. По ошибке я выполнил команду:

pip install psycopg2

Вместо того, чтобы указать нужную версию:

pip install psycopg2==2.4.1

В результате была установлена версия 2.4.4 вместо более ранней. Теперь, даже после того как я удалил psycopg2 с помощью команды pip uninstall psycopg2 и попытался снова установить нужную версию, pip, похоже, использует кэш, который был загружен в первый раз.

Как я могу заставить pip очистить кэш загрузки и установить конкретную версию, которую я указываю в команде?

5 ответ(ов)

6

Для очистки кеша pip на вашей системе выполните следующие действия.

Linux и Unix

Кеш можно найти по следующему пути:

~/.cache/pip  # Учитывает переменную XDG_CACHE_HOME

OS X

На macOS кеш хранится здесь:

~/Library/Caches/pip

Windows

Для Windows путь к кешу будет следующим:

%LocalAppData%\pip\Cache

ОБНОВЛЕНИЕ

Начиная с версии pip 20.1 вы можете легко узнать полный путь к кешу на вашей операционной системе, выполнив в командной строке:

pip cache dir

Пример вывода на моей установке Ubuntu:

➜ pip3 cache dir
/home/tawanda/.cache/pip
1

В соответствии с документацией по адресу https://pip.pypa.io/en/latest/reference/pip_install.html#caching:

Начиная с версии 6.0, pip предоставляет кэш, который включен по умолчанию и работает подобно кэшу веб-браузера. Хотя кэш включен по умолчанию и рассчитан на то, чтобы вести себя правильно в большинстве случаев, вы можете отключить кэш и всегда получать доступ к PyPI, используя опцию --no-cache-dir.

0

Вы можете установить пакет с помощью pip, игнорируя кэш, используя следующую команду:

pip --no-cache-dir install scipy

Это позволит вам установить scipy, не используя кэшированные версии, что иногда полезно для устранения проблем с установкой или если вам требуется последняя версия пакета.

0

На Ubuntu мне пришлось удалить каталог /tmp/pip-build-root.

0

У меня была похожая проблема, и я обнаружил, что единственный способ заставить pip обновить пакет — это удалить директорию $PWD/build (на Windows это %CD%\build), которая могла остаться после неудачной установки или предыдущей версии pip. Сейчас pip удаляет директории сборки после успешной установки.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь