我在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
吗?
答案 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/)