获取通过pip安装的软件包的安装日期和时间

时间:2015-05-31 15:33:52

标签: python package pip

我想找到一种方法来获取以小时为单位的日历日期和时间:我通过pip安装的软件包的分钟:秒格式。

我希望能够在输出中看到如下内容: 月/日/年 - 小时:分钟:秒 对于每个包。

谢谢!

4 个答案:

答案 0 :(得分:7)

这就是你要找的 -

import pip
import os
import time

In [139]: for package in pip.get_installed_distributions():
   .....:          print "%s: %s" % (package, time.ctime(os.path.getctime(package.location)))
   .....:     
pyudev 0.17.dev20150317: Tue Mar 17 12:02:58 2015
python-magic 0.4.6: Fri Mar 20 14:07:59 2015
runipy 0.1.0: Fri Oct 31 01:49:34 2014

代码来源 - https://stackoverflow.com/a/24736563/170005

你也可以做import pip,这非常有趣。我不知道这个。

答案 1 :(得分:0)

您可以列出包含所有包的所有位置,然后列出这些目录中的所有文件(以及创建时间):

import pip
import os
import time

pkg_location_dir_strset = set()

for pip_pkg in pip.get_installed_distributions():
    if pip_pkg.location not in pkg_location_dir_strset:
        pkg_location_dir_strset.add(pip_pkg.location)

for pkg_location_dir_str in pkg_location_dir_strset:
    print("")
    print("Directory: " + pkg_location_dir_str)
    for file_or_dir in os.listdir(pkg_location_dir_str):
        # print("file_or_dir = " + file_or_dir)
        file_or_dir_path = os.path.join(pkg_location_dir_str, file_or_dir)
        print(
            os.path.basename(file_or_dir).ljust(50)
            + " " + time.ctime(os.path.getctime(file_or_dir_path))
        )

您可能更喜欢check out this answer for an alternative solution

希望这有帮助!

答案 2 :(得分:0)

使用pip-date

不仅可以获得日期和时间,还可以获得安装方法。

enter image description here

答案 3 :(得分:0)

从10.0.0版开始,get_installed_distributions()距其先前位置为not accessible

尽管在程序内部将pip用作模块是not recommended,但有时-像这个问题一样,它使事情变得容易得多!

所以,我搜索了一下库,发现它隐藏的位置:) 这是根据新API并与Python 3.x兼容的@fixxxer答案:

import os
import time
from pip._internal.utils.misc import get_installed_distributions

for package in get_installed_distributions():
    print ("{}\t{}".format(time.ctime(os.path.getctime(package.location)), package))a