注意:我因为这个问题而创建了这个帐户。:)
好的,那我们开始吧。
我注意到,每当我使用pip2
/安装新的 Python 包(这是使用/安装新的 Python 包所必需的)时,我都会在 Linux Mint 18.2 终端中收到以下“消息”:pip3
sudo
pip2
pip3
目录 '/home/kyle/.cache/pip/http' 或其父目录不属于当前用户,并且缓存已被禁用。请检查该目录的权限和所有者。如果使用 sudo 执行 pip,您可能需要 sudo 的 -H 标志。目录 '/home/kyle/.cache/pip' 或其父目录不属于当前用户,并且缓存轮已被禁用。请检查该目录的权限和所有者。如果使用 sudo 执行 pip,您可能需要 sudo 的 -H 标志。
例如,这是我执行此类操作时终端的“屏幕截图”(当然,终端输出的行之间没有空行;这就是我在本文中使此输出可读的原因);当我用 替换时,也会发生同样的pip2
事情pip3
:
kyle@kyle-B301〜$ sudo pip2 安装 pytest pytest-cache
目录“/home/kyle/.cache/pip/http”或其父目录不属于当前用户,并且缓存已被禁用。请检查该目录的权限和所有者。如果使用 sudo 执行 pip,您可能需要 sudo 的 -H 标志。
目录“/home/kyle/.cache/pip”或其父目录不属于当前用户,并且缓存轮已被禁用。请检查该目录的权限和所有者。如果使用 sudo 执行 pip,您可能需要 sudo 的 -H 标志。
收集 pytest
正在下载 pytest-3.2.2-py2.py3-none-any.whl (187kB)
100%|██████████████████████████████| 194kB 380kB/秒
收集 pytest-cache
下载 pytest-cache-1.0.tar.gz
已满足要求:/usr/lib/python2.7/dist-packages 中的 setuptools(来自 pytest)
收集 py>=1.4.33(来自 pytest)
正在下载 py-1.4.34-py2.py3-none-any.whl (84kB)
100%|██████████████████████████████| 92kB 689kB/s
收集 execnet>=1.1.dev1(来自 pytest-cache)
正在下载 execnet-1.4.1-py2.py3-none-any.whl (40kB)
100%|██████████████████████████████| 40kB 1.3MB/s
收集 apippkg>=1.4(来自 execnet>=1.1.dev1->pytest-cache)
下载 apikg-1.4-py2.py3-none-any.whl
安装收集的包:py、pytest、apipkg、execnet、pytest-cache
正在运行 pytest-cache 的 setup.py install ...完成
成功安装apippg-1.4 execnet-1.4.1 py-1.4.34 pytest-3.2.2 pytest-cache-1.0
kyle@kyle-B301〜$
如您所见,一切正常(这很好)。只是这两行关于我,一个“sudoer”,而不是“拥有”我自己的“主”目录中的目录,这毫无意义!
更新:按照“G-Man”的建议,我运行了ls -laR /home/kyle/.cache/pip
(我将其范围缩小,/home/kyle/.cache/pip
因为它是“问题”目录),结果可以在这里找到(https://docs.google.com/document/d/1rqRBEAXXVcJNwwojHj7fDOoyNvenvj4VYFFq0-s5gTs/edit?usp=sharing)。
如果有人能向我解释这些消息的原因,并提出解决方案来解决这些目录“明显”缺乏“所有权”(我可以轻松导航到这些目录而无需sudo
权限)的问题,我将不胜感激。提前致谢!