通过sudo pip-python
(CentOS 6软件包:python-pip-0.8-1.el6.noarch
)安装软件包时,我有时会遇到权限问题,安装的软件包只能由root用户读取。
重新安装一次或两次通常可以解决问题。有没有人经历过这个?或者,任何人都可以建议任何故障排除步骤来确定原因吗?
答案 0 :(得分:12)
使用sudo
运行命令时,它会保留用户umask
。 pip
只是安装文件,它不会更改访问权限,因此您最终将拥有符合当前用户的umask的访问权限设置的文件,这些文件可能仅为所有者可读(0077),因此仅可由root读取。
这意味着您可以在运行umask 0022
之前将umask设置为sudo pip install
之类的合理内容。或者使用sudo su
打开具有默认设置的root shell,然后使用pip install
。
答案 1 :(得分:0)
如果用sudo执行pip,你可能需要sudo的-H标志
-H, - set-home将HOME变量设置为目标用户的主目录
e.g
sudo -H pip install virtualenv