Windows 10上的Ubuntu:当前用户不拥有的pip缓存文件夹

时间:2018-08-02 05:20:42

标签: ubuntu windows-10 lxss

我在Windows 10 Pro上,使用Linux子系统和官方商店中的Ubuntu 18.04'app'。

问题:

$ sudo pip install ansible

The directory '/home/realtebo/.cache/pip/http' or its parent directory 
is not owned by the current user and the cache has been disabled. Please 
check the permissions and owner of that directory. If executing pip 
with sudo, you may want sudo's -H flag.

请注意,模块已成功安装,我的问题只是关于警告

我尝试过

$ sudo rm /home/realtebo/.cache -rf

这删除了文件夹,但是关于目录所有者的问题仍然存在

显然/ home是根目录

drwxr-xr-x  1 root root   512 Jul 25 23:01 home

但是/ home / realtebo是我的

drwxr-xr-x 1 realtebo realtebo 512 Aug  2 07:15 realtebo

您能说明我的问题来源吗? 我应该以用户身份安装pip软件包,而不是使用sudo吗?

1 个答案:

答案 0 :(得分:1)

问题或警告的根源是您正在使用sudo安装ansible以及sudo的工作方式。

Sudo提升了您的特权,以便您可以安装软件包并使用root特权做事。但是,与root用户不完全相同https://www.sudo.ws/

例如,如果您这样做

sudo su -

然后输入完整的root会话,然后执行

pip install ansible

那么警告就不会发生。

关于是否要以用户身份而不是sudo来安装软件包,或者甚至以 sudo su-来从根会话安装软件包,这完全取决于您要如何工作和维护您的软件包。 python环境。

理想情况下,您可能还想使用virtualenv(https://virtualenv.pypa.io/en/stable/