2014-10-10 30 views
4

安装软件包时,登录为我的用户名,我总是得到权限被拒绝,除非我这样做:为什么我必须在每次点击安装前输入`sudo`?

sudo pip install

我该如何做到这一点?或者这应该是这样吗?

+4

这是最好的,因为它会强制你产生密码(反黑客),并让你检查它是否会破坏你的系统(反事故)。但是,如果您不想输入sudo,请使用root shell,但请小心! – matsjoyce 2014-10-10 18:04:33

+1

或者您可以使用--user模式,或者您可以使用默认情况下放置在系统目录中的发行版(例如,anaconda)。 – mdurant 2014-10-10 18:05:47

+4

您正在系统范围内安装软件包。这是使用[虚拟环境]的好习惯(http://docs.python-guide.org/en/latest/dev/virtualenvs/)。你可以看看这个。 – 2014-10-10 18:06:30

回答

8

要么,我会用的virtualenv,在评论中提到的问题,或者利用Python的PYTHON_USERBASE只为您的用户安装模块:

在你的.bashrc补充:

export PYTHON_USERBASE=~/python_userbase 

然后下载你的包,解压它,去生成的目录中,然后运行:

python setup.py install --user 

或简单地使用:

pip install <package> --user 

他们都会在〜/ python_userbase/lib中/ pythonXXX /站点包结束,而不是破坏你的系统的site-packages

参考:

pep-0370

的最后一件事,这次,与Unix有关,你可以修改/ etc/sudoers并授予你的用户以root权限执行pip的权利。但我会极力阻止你这样做。

+0

你应该接受这个答案,并点击支票图标,我会很感激。谢谢 – 2014-10-29 19:17:44

相关问题