我想将python模块安装为像这样的非root用户
$ pip install -I --install-option="--prefix=~/usr" scipy
不幸的是,除非您指定--user
,否则通常无效。但--user
不能与--prefix
一起使用。仅使用--user
(没有--prefix
)安装到~/.local
我觉得很难看,因为我维护得很好~/usr
并且不想为我的{添加更多东西{1}}也可以使env
可用。
所以我的问题:
~/.local
和--prefix
为setup.py工作,或者如何在不使用--user
的情况下setup.py成功?--user
以某种方式将用户网站目录从~/.local
更改为~/usr
吗?答案 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_BASE
与https://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 /.