我正在使用 pip 安装包 X,如下所示:
pip3 install --upgrade X
运行后,pip 提示需要 root 权限才能安装此包,如下所示:
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.5/site-packages'
所以,我必须使用 sudo 重新运行命令:
sudo -H pip3 install --upgrade X
问题是pip又开始下载包了。为什么它不利用缓存?
最佳答案
virtualenv
是一个好主意,@cricket_007 在评论中指出。对于您的问题,为什么当您使用 sudo
重新运行 pip 时 pip 不使用缓存,那是因为缓存目录与拥有运行进程的用户相关。更具体地针对 Unix 和 MacOS,它是:
- Unix:
~/.cache/pip 并且它遵循 XDG_CACHE_HOME 目录。
- macOS:
~/Library/Caches/pip
您可以在 cache docs of pip 找到更多详细信息,或在 user_cache_dir 探索源代码.因此,当您使用 sudo
重试时,缓存目录会扩展到 /root/.cache
关于python - 为什么再次尝试使用 sudo 时 pip 的缓存不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43438602/