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

时间:2017-02-05 23:51:31

标签: python pip virtualenv

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

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

2 个答案:

答案 0 :(得分:1)

修改pip脚本,将其插入__main__段的开头:

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.txtPip位于virtualenv的bin文件夹中,位于激活脚本旁边。

答案 1 :(得分:0)

您可以使用history命令查看所有命令的历史记录,然后使用输出到文件来grep for pip。 与上面的评论相似。