为什么我的python虚拟环境使用pip安装模块,必须使用sudo

我的系统是ubuntu14.04,在使用pip install XX时会出现权限不足的问题,如果使用sudo pip install xx,则会将模块装到全局里,如下图:

权限不足的情况:

clipboard.png
sudo的情况:

clipboard.png
可以看见将django装到了/usr/local/lib下了。
求教如何解决

阅读 12.3k
3 个回答

都没人回答,好可怜!不过原因找到了。virtualenv Permission denied
新建的python虚拟环境的目录的所属者必须是当前用户,才不会出现这种错误
比如
virtualenv py27
chown ppc py27
再进入这个虚拟环境就不会出现这个情况了

首先你要知道你自己的使用环境。
那么你的情况 Linux + Py2.7。

之后,明白各个命令的含义。
pip 是安装库,sudo呢,你是否知道?

那么在此基础上,你自己也知道了虚拟环境的目录为当前用户的话则不需要。
这个知识点就是涉及到Linux的目录的权限问题了。
当前用户登录的时候,你可以进行的所有操作权限都是分配给当前用户已有的。
比方你是某网站普通会员,必然没有办法做后台操作。
这样就很明了了。/usr/local/.... 这个目录的所属权、使用权暂时都不在当前用户下,可用ls命令查看到(需加参数),自行对比当前用户下的目录。
用sudo 即可临时获取类Root的超级权限,自然也就可以进行读写操作了。

virtualenv --no-site-packages +虚拟环境路径

推荐问题
宣传栏