python,更改用户站点目录或使用--user安装setup.py --prefix

时间:2014-06-25 23:16:13

标签: python pip setup.py pythonpath

我想将python模块安装为像这样的非root用户

$ pip install -I --install-option="--prefix=~/usr" scipy

不幸的是,除非您指定--user,否则通常无效。但--user不能与--prefix一起使用。仅使用--user(没有--prefix)安装到~/.local我觉得很难看,因为我维护得很好~/usr并且不想为我的{添加更多东西{1}}也可以使env可用。

所以我的问题:

  1. 如何让~/.local--prefix为setup.py工作,或者如何在不使用--user的情况下setup.py成功?
  2. 或者我可以通过--user以某种方式将用户网站目录从~/.local更改为~/usr吗?

1 个答案:

答案 0 :(得分:5)

回答你的第一个问题:

在Greg Ward撰写的Installing Python Modules指南中,我们读到了:

  

请注意,各种备用安装方案是相互的   exclusive:你可以传递--user,或--home,或--prefix和   --exec-prefix,或--install-base和--install-platbase,但你不能从这些组混合。

回答你的第二个问题:

在同一指南中,我们阅读了Alternate installation: the user scheme部分:

  

文件将安装到site.USER_BASE

的子目录中

site.USER_BASEhttps://docs.python.org/2/library/site.html#site.USER_BASE相关联。我们还要求我们查看有关PYTHONUSERBASE环境变量的信息:

  

定义用户基目录,用于计算路径   用户的site-packages目录和Distutils安装路径   python setup.py install --user。

另外,您可能对the home scheme感兴趣:

  

“家庭计划”背后的想法是你建立和维护一个   个人藏匿的Python模块。该方案的名称源自   在Unix上使用“home”目录的想法,因为它并不罕见   Unix用户使其主目录的布局类似于/ usr /   或/ usr / local /.