【发布时间】:2011-05-28 13:32:00
【问题描述】:
我试图在我最近获得访问权限的系统上安装 Python 包。我试图利用 Python 相对较新的 per user site-packages directory 和新选项 --user。 (选项是currently undocumented,但它适用于 Python 2.6+;您可以通过运行 python setup.py install --help 来查看帮助。)
当我尝试跑步时
python setup.py install --user
在我下载的任何包上,我总是收到以下错误:
error: can't combine user with with prefix/exec_prefix/home or install_(plat)base
这个错误非常令人困惑,因为如您所见,我没有提供--prefix、--exec-prefix、--install-base 或--install-platbase 标志作为命令行选项。我浪费了很多时间试图找出问题所在。我在下面记录了我的答案,希望能让其他一些可怜的人花几个小时的时间yak shaving。
【问题讨论】:
-
我在尝试使用
./configure --prefix=${HOME}从源代码安装python 3.6 时遇到了同样的错误,而~/.pydistutils.cfg中有“user=1”。在这种情况下,我需要临时注释“user=1”,以便安装过程完成。 -
bli 给出了很好的提示。我想知道 --user 选项来自哪里,即使我没有使用该选项。 pip install --prefix /home/myhomedir。我没有 ~/.pydistutils.cfg 文件,仍在寻找设置 --user 选项的位置。
-
找出问题的根源。这是 Debian 特有的。添加 --system 选项来 pip 后,问题就消失了。
标签: python installation distutils