Python 记录给定虚拟环境中的所有pip命令?

Python 记录给定虚拟环境中的所有pip命令?,python,pip,virtualenv,Python,Pip,Virtualenv,我想记录在给定虚拟环境中执行的所有pip命令以及安装/更新/删除的软件包版本。有没有一个简单的方法 或者,如果可能的话,我如何从虚拟环境状态中获取requirements.txt(包括--install option等)?大概只有直接依赖项需要存在。您可以使用history命令查看所有命令的历史记录,然后grep for pip而不输出到文件。 与上面的注释类似。编辑pip脚本,将其插入\uuuu主\uuuu段的开头: if __name__ == '__main__': import

我想记录在给定虚拟环境中执行的所有
pip
命令以及安装/更新/删除的软件包版本。有没有一个简单的方法


或者,如果可能的话,我如何从虚拟环境状态中获取
requirements.txt
(包括
--install option
等)?大概只有直接依赖项需要存在。

您可以使用history命令查看所有命令的历史记录,然后grep for pip而不输出到文件。
与上面的注释类似。

编辑
pip
脚本,将其插入
\uuuu主\uuuu
段的开头:

if __name__ == '__main__':
    import os
    env_dir = os.environ['VIRTUAL_ENV']
    with open(os.path.join(env_dir, 'pip_log.txt'), 'a') as f:
        f.write(' '.join(sys.argv[1:]) + '\n')

这将把对pip的每次调用记录到virtualenv目录中的
pip_log.txt
Pip
位于virtualenv的bin文件夹中,位于激活脚本旁边。

Pip install foo bar baz>&Pip_log.txt
将记录输出,如果您在POSIX系统上。
Pip
带有需求文件是所需的状态系统。这使得更改变得无关紧要。您应该只考虑使用需求文件(不进行手动更改),并保存它的历史记录。