结合 – 用户与–prefix错误与setup.py安装
我试图安装我最近获得访问的系统的Python包。 我试图利用Python的相对较新的每用户site-packages目录 ,以及新的选项--user 。  (这个选项目前没有logging ,但是它对于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标志作为命令行选项。 我浪费了很多时间来弄清楚问题所在。 我在下面logging了我的答案,希望能够让其他一些可怜的灵魂在几个小时的牦牛剃毛之后 。 
一次解决方法:
 pip install --user --install-option="--prefix=" <package_name> 
要么
 python setup.py install --user --prefix= 
 注意在=之后没有文本(甚至没有空格)。 
 不要忘记--user标志。 
安装多个软件包:
 使用以下内容创build~/.pydistutils.cfg (或与您的操作系统/平台等效): 
 [install] prefix= 
 注意在=之后没有文本(甚至没有空格)。 
 然后运行必要的pip install --user或者python setup.py install --user命令。 不要忘记--user标志。 
 最后,删除或重命名此文件。 如果将此文件保留,将导致系统范围(例如,没有--user )以此用户身份安装Python包时出现问题(使用~/.pydistutils.cfg 。 
这个问题的原因
这似乎是OpenSUSE和RedHat的一个问题,在这些平台上导致了virtualenv的bug 。
 该错误源于系统级别的distutilsconfiguration文件 (在我的情况下是/usr/lib64/python2.6/distutils/distutils.cfg ),这里有这个 
 [install] prefix=/usr/local 
 基本上,这相当于总是运行install命令,如install --prefix=/usr/local 。 您必须使用上述技术之一来覆盖此规范。 
正如在评论中已经指出的那样,被接受的答案(可能是基因的@gotgenes)会导致意想不到的后果。
@rogeleaderr说:“请注意,像这样保存这个文件将使Python认为/是你的根python库目录,如果你尝试安装其他新的软件包,会导致混淆的问题。
 正如@gotgenes所build议的,更好的办法是在命令行中添加--prefix= (在等号右边没有文本),就像在 
 $ python setup.py install --user --prefix=