尝试使用pip安装virtualenv后
$ pip install virtualenv
我遇到了权限被拒绝的错误
IOError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/virtualenv.py'
所以我使用sudo安装了virtualenv
$ sudo pip install virtualenv
但随即出现了警告:
目录 '/Users/petertao/Library/Caches/pip/http' 或其父目录不属于当前用户,缓存已被禁用。请检查该目录的权限和所有者。如果使用 sudo 执行 pip,则可能需要 sudo 的 -H 标志。
目录 '/Users/petertao/Library/Caches/pip' 或其父目录不属于当前用户,缓存轮已被禁用,请检查该目录的权限和所有者。如果使用 sudo 执行 pip,则可能需要 sudo 的 -H 标志。
sudo 的 -H 标志是什么意思?
sudo
并查看sudo手册页面中的-H
选项来找到这个信息,其中明确说明了"将HOME环境变量设置为目标用户密码数据库条目指定的主目录。" - metatoasterpip
会抱怨非超级用户权限和所有权”这个未明示的问题却很有趣。正如user3141593的精心撰写的答案所解释的那样,pip
抱怨是因为在非超级用户的主目录中创建超级用户拥有的子目录是个坏主意。幸运的是,这个问题保持开放状态足够长时间以收到一个有用的回答。 - Cecil Curry