Python pip+;使用pip处理百胜历史记录的等效方法是什么
我正在搜索查找pip何时安装PKG的方法,如Python pip+;使用pip处理百胜历史记录的等效方法是什么,python,linux,pip,Python,Linux,Pip,我正在搜索查找pip何时安装PKG的方法,如yum history yum history Loaded plugins: langpacks ID | Command line | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 42 | -y instal
yum history
yum history
Loaded plugins: langpacks
ID | Command line | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
42 | -y install libffi-devel* | 2020-06-09 01:07 | Install | 1
41 | -y install rabbitmq-serv | 2020-06-09 01:07 | Install | 21
40 | install -y gcc-gfortran. | 2020-06-09 01:06 | Install | 2
39 | install -y gcc-c++.x86_6 | 2020-06-09 01:06 | Install | 2
38 | -y install python-twiste | 2020-06-09 00:55 | Install | 1
37 | -y install python-zope-i | 2020-06-09 00:55 | Install | 1
36 | -y install yum install p | 2020-06-09 00:55 | Install | 1
如上所述,yum-history
准确描述了rpm的安装进度
查找pip安装的PKG的相同方法是什么
示例:
yum-history
可以显示在rpm依赖关系期间删除的rpm
所以,我们希望看到pip也一样——这可能吗
32 | remove -y python2-crypto | 2020-06-09 00:55 | Erase | 3 EE
second-我们对由pip安装的ansible PKG有一些奇怪的看法,但在其他一些安装之后,我们没有看到ansible bypip freeze | grep ansible
我使用以下python脚本获取已安装PKG的列表
#!/usr/bin/env python
# Prints when python packages were installed
from __future__ import print_function
from datetime import datetime
import os
import pip
if __name__ == "__main__":
packages = []
for package in pip.get_installed_distributions():
package_name_version = str(package)
try:
module_dir = next(package._get_metadata('top_level.txt'))
package_location = os.path.join(package.location, module_dir)
os.stat(package_location)
except (StopIteration, OSError):
try:
package_location = os.path.join(package.location, package.key)
os.stat(package_location)
except:
package_location = package.location
modification_time = os.path.getctime(package_location)
modification_time = datetime.fromtimestamp(modification_time)
packages.append([
modification_time,
package_name_version
])
for modification_time, package_name_version in sorted(packages):
print("{0} - {1}".format(modification_time,
package_name_version))
但问题是脚本无法告诉我们ansible PKG是否已被删除如果您没有记录它,您将不会有任何历史记录。您可以全局启用日志记录。这将是日志,而不是格式化的报告,但信息将在那里。请注意,尽管我没有真正看到了解安装包的时间的用例。你宁愿不知道版本吗?在这种情况下,
pip freeze
会这样做。查看更新,了解pkg是否以某种方式被删除很重要。很抱歉,我仍然没有看到用例。您的依赖项应该位于由修订控制系统管理的requirements.txt
文件中。因此,依赖项的更改应该通过该文件的修订可见。目标是了解为什么ansible安装的某些pkg在一段时间后被其他安装删除。如果您没有记录它,您将不会有任何历史记录。您可以全局启用日志记录。这将是日志,而不是格式化的报告,但信息将在那里。请注意,尽管我没有真正看到了解安装包的时间的用例。你宁愿不知道版本吗?在这种情况下,pip freeze
会这样做。查看更新,了解pkg是否以某种方式被删除很重要。很抱歉,我仍然没有看到用例。您的依赖项应该位于由修订控制系统管理的requirements.txt
文件中。因此,依赖项的更改应该通过该文件的修订可见。目标是了解为什么ansible安装的某些pkg在一段时间后被其他安装删除