pip2和pip3的不同自定义安装位置

时间:2018-08-30 14:27:54

标签: python pip

将pip与--user标志一起使用时,默认安装位置为〜/ .local / lib / pythonX.Y / site-packages,其中X.Y指定python的版本。这样可以将使用pip2安装的软件包与通过pip3安装的软件包分开。

但是,当使用pip.conf文件指定目标安装目录时,我只看到了这样的全局设置:

[global]
target=/data/user/pip

这有效,但不会将pip2安装的软件包与通过pip3安装的软件包分开,这可能会引起问题。有没有办法为通过pip2安装的软件包和通过pip3安装的软件包指定不同的位置?

1 个答案:

答案 0 :(得分:1)

不幸的是,无法在pip配置中处理特定于版本的内容。 The current decision about this is

  

...这似乎不是我们真正需要的东西。

但是,实际上不是通过--target而是通过PYTHONUSERBASE环境变量来配置用户安装目标。这意味着您可以从env传递用户群,例如PYTHONUSERBASE=/some/dir pip install --user pkgname。如果您想保留自定义用户库目录,我将使用别名。 bash的示例:在您的.bashrc / .bash_profile中,添加:

alias pip2='PYTHONUSERBASE=/tmp/pip2 pip2'
alias pip3='PYTHONUSERBASE=/tmp/pip3 pip3'
alias pip3.7='PYTHONUSERBASE=/tmp/pip3.7 pip3.7'
# etc

保存文件,然后重新加载

source ~/.bashrc

source ~/.bash_profile

或只是打开一个新终端。现在

$ pip2 install --user pkgname

将安装到/tmp/pip2等上。