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

问题描述 投票:2回答:1

当使用带有--user标志的pip时,默认安装位置是〜/ .local / lib / pythonX.Y / site-packages,其中X.Y指定python的版本。这允许使用pip2安装的软件包与通过pip3安装的软件包分离。

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

[global]
target=/data/user/pip

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

python pip
1个回答
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等。

© www.soinside.com 2019 - 2024. All rights reserved.