在给定的虚拟环境中记录所有 pip 命令?
log all pip commands in a given virtual environment?
我想记录在给定虚拟环境中执行的所有 pip
命令以及获得 installed/updated/removed 的软件包版本。有简单的方法吗?
或者,如果可能的话,我如何从我的虚拟环境状态中获取 requirements.txt
(包括 --install-option
等)?据推测,只有直接依赖项需要存在。
您可以使用 history 命令查看所有命令的历史记录,然后将 grep for pip 输出到文件中。
类似于上面的评论。
编辑 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.txt
。 Pip
位于 virtualenv 的 bin 文件夹中,在激活脚本旁边。
我想记录在给定虚拟环境中执行的所有 pip
命令以及获得 installed/updated/removed 的软件包版本。有简单的方法吗?
或者,如果可能的话,我如何从我的虚拟环境状态中获取 requirements.txt
(包括 --install-option
等)?据推测,只有直接依赖项需要存在。
您可以使用 history 命令查看所有命令的历史记录,然后将 grep for pip 输出到文件中。 类似于上面的评论。
编辑 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.txt
。 Pip
位于 virtualenv 的 bin 文件夹中,在激活脚本旁边。