python - 为什么再次尝试使用 sudo 时 pip 的缓存不起作用?

标签 python linux pip

我正在使用 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/

相关文章:

c - 如何找出Linux中进程(C程序)中特定函数的内存使用情况?

linux - 如何使用 ImageMagick 控制 PDF 纸张大小?

python - Windows 上的 pip 与多个版本的 python

python - 如何从 pip 搜索包的索引中删除 URL?

python - Scrapy使用xpath爬行ul类不起作用

Python argparse 忽略无法识别的参数

linux - 如何从嵌入式 Linux 开发环境开始

python - 如何在没有root权限的情况下在conda中安装pip包?

python - 无法在 App Engine 上捕获 MySQLdb.OperationalError

python - Xlsxwriter:在同一工作表中格式化三个单元格范围