【问题标题】:Can you configure a different logfile for pip2 and pip3, yes/no? if yes, how?您可以为 pip2 和 pip3 配置不同的日志文件,是/否?如果是,如何?
【发布时间】:2021-05-09 04:39:57
【问题描述】:

我仍有遗留的 Python 代码需要支持。但是我也在做一些python3的开发。

我已经用配置文件配置了 pip:

[global]
log = /home/USER_NAME/.local/pip/pip.log
format = columns

问题是 pip2 和 pip3 都使用同一个日志文件。

你能否为 pip2 和 pip3 配置不同的日志文件,是/否?如果是,怎么做?

附言如果有指定配置文件的选项,我可以只为 pip2、pip3 设置一个别名,其中别名具有不同的配置文件,但可惜我没有看到任何用于指定配置文件的 pip 选项。

p.p.s.我所有的 pip install 命令都是“--user”(我通常/一般都反对 sudo pip install)。


这里有一个解决方法:

创建一个新脚本 pip2 和 pip3 并将其放在 pip2 和 pip3 之前的路径上。 这些脚本至少会显示日志文件的哪些部分是由 pip2 和 pip3 生成的。

pip2 脚本:

#!/bin/bash
echo "[$(date +'%Y-%m-%d_%H-%M-%S')]: pip2" $@ >> ~/.local/pip/pip.log
python2 -m pip $@

pip3 脚本:

#!/bin/bash
echo "[$(date +'%Y-%m-%d_%H-%M-%S')]: pip3" $@ >> ~/.local/pip/pip.log
python3 -m pip $@

【问题讨论】:

  • 如何使用虚拟环境(无论如何这是最佳实践)。然后每个虚拟环境都有自己的配置文件pip.pypa.io/en/stable/user_guide/#config-file 在这种情况下,只需确保有一个全局配置文件,因为它将具有优先权
  • @DeepSpace 用于 python2 和 python3 的不同 virtualenv 每个都有自己的 pip.conf 可能是要走的路。因为它做了问题所要求的(即 pip2 和 pip3 的不同日志文件)。它只需要一点额外的工作。
  • 关于您添加的解决方法。如果您已经在两个脚本中重定向了输出,那么为什么不简单地重定向到单独的文件呢? >> ~/.local/pip/pip2.log>> ~/.local/pip/pip3.log

标签: python pip configuration


【解决方案1】:
  • 如果你在 virtualenv 之外使用 pip2 和 pip3 --> 那就不行(见comments
  • 如果你在一个 virtualenv 中,那么你可以有一个不同的 conf 文件,它为每个虚拟 env 配置不同的日志文件 --> 然后是的(对于每个 virtualenv,你可以有一个单独的 pip conf 文件来指定一个不同的日志文件)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 2021-08-19
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多