python - from - Чем хорош pip `--no-cache-dir`?




rm ~/ cache pip (2)

  1. Кэшируется : хранить в тайнике или для будущего использования
  2. Используется для
    • хранить установочные файлы ( .whl и т. д.) модулей, которые вы устанавливаете через pip
    • хранить исходные файлы ( .tar.gz и т. д.), чтобы избежать повторной загрузки, если не истек срок действия
  3. Возможная причина, по которой вы можете отключить кеш:
    • у вас нет места на жестком диске
    • предварительно запустить pip install с неожиданными настройками
      • например:
        • предварительно запустите export PYCURL_SSL_LIBRARY=nss и pip install pycurl
        • хотите новый запуск export PYCURL_SSL_LIBRARY=openssl и pip install pycurl --compile --no-cache-dir

Ссылки на документацию

pip.pypa.io/en/stable/reference/pip_install/#caching - @emredjan pip.pypa.io/en/stable/reference/pip_install - @mikea

https://code.i-harness.com

Недавно я видел --no-cache-dir , используемый в файле Docker. Я никогда не видел этот флаг раньше, и помощь не объясняет его:

 --no-cache-dir              Disable the cache.
  1. Вопрос: что кешируется?
  2. Вопрос: для чего используется кеш?
  3. Вопрос: зачем мне его отключать?

Еще одна причина отключить кэш pip - если вы запускаете pip от имени пользователя, которого еще нет, его домашний каталог будет создан, но принадлежит root.

Это происходит с нами, когда сборка Amazon AMI в chroot - pip запускается от имени пользователя, который существует на компьютере разработчика, но не в изолированной тюрьме, где создается AMI. Это проблематично, так как этот конкретный пользователь теперь не может ssh к тому, что только что было собрано, так как его каталог .ssh не доступен для чтения.

Я не могу представить ни одну другую причину, по которой бы pip запускался как пользователь, которого не существует, так что это очень крайний случай.





pip