您尚未登录。

#1 2014-03-31 16:38:54

Peter
会员
注册时间: 2013-09-03
帖子: 43

什么时候该使用sudo

最近学习python,遇到使用pip安装包的过程,一些资料中有sudo pip install也有pip install,archlinux中又存在sudo pacman -S python-pip,这使我产生了一些疑问
这三种方式安装的包有什么不同呢?
还有就是红色的两个部分的安装都使用sudo,安装的包又有些什么不同呢,当然,我知道使用sudo的作用是使用root权限
在这我就是,不太清楚在安装系统包或python(ruby、node...)通过pip安装扩展时,使不使用sudo,有什么区别啊

离线

#2 2014-03-31 16:45:24

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: 什么时候该使用sudo

pip install 是让 Python 自己管理那些库,sudo pacman -S python-xxx 是使用 pacman 管理的软件包。
编程语言自己的包管理工具,一般会将文件安装到 /usr/local,这时需要 sudo。如果你有使用 vitualenv 或者 venv 之类的隔离环境则不需要。easy_install 还支持加 --user 表示只给当前用户安装(到 ~/.local),也是不需要 sudo 的。

学习而非针对性开发的话,我建议使用系统包管理器(pacman)统一管理。

离线

#3 2014-03-31 16:54:25

Peter
会员
注册时间: 2013-09-03
帖子: 43

Re: 什么时候该使用sudo

百合仙子 说:

pip install 是让 Python 自己管理那些库,sudo pacman -S python-xxx 是使用 pacman 管理的软件包。
编程语言自己的包管理工具,一般会将文件安装到 /usr/local,这时需要 sudo。如果你有使用 vitualenv 或者 venv 之类的隔离环境则不需要。easy_install 还支持加 --user 表示只给当前用户安装(到 ~/.local),也是不需要 sudo 的。

学习而非针对性开发的话,我建议使用系统包管理器(pacman)统一管理。

但是,如果使用sudo pip怎么读取,~/.pip/pip.conf呢,我现在就是在安装一个包时重设了源,使用sudo时不会读取~/.pip/pip.conf
不设源,包抓不下来啊

离线

#4 2014-03-31 17:01:41

Peter
会员
注册时间: 2013-09-03
帖子: 43

Re: 什么时候该使用sudo

还有,我可以这样理解吗,使用sudo pip是全局,每个用户都可以使用,我发现创建了/root/.pip/pip.log
pip是针对这个用户的,~/.pip/pip.log
windows,使用多了,脑子还是有点转不过来啊

离线

#5 2014-03-31 17:19:50

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: 什么时候该使用sudo

在 /etc/sudoers 里加上 env_keep += "HOME" ,让 sudo 的时候不要重置 HOME 环境变量就可以了。不过这样可以导致其它的问题。

所以建议是,不要用 sudo pip。非要用 pip 的话自己建立一个 virtualenv 吧。

离线

#6 2014-03-31 17:37:48

Peter
会员
注册时间: 2013-09-03
帖子: 43

Re: 什么时候该使用sudo

那你的开发环境用什么方式管理包呢
或者说,您是怎么设置的呢

最近编辑记录 Peter (2014-03-31 17:41:43)

离线

#7 2014-03-31 20:56:27

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: 什么时候该使用sudo

Peter 说:

那你的开发环境用什么方式管理包呢
或者说,您是怎么设置的呢

pacman -S python-xxx

有些源里没有,但是 AUR 里有。

离线

页脚