获取通过 pip 安装的软件包的安装日期和时间
Get date and time of installation for packages installed via pip
我想找到一种方法来为通过 pip 安装的包获取 hour:minute:seconds 格式的日历日期和时间。
我希望能够在输出中看到如下内容:
Month/Day/Year - Hour:Minute:Seconds
对于每个包。
谢谢!
这是您要找的吗 -
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
代码来源 -
你也可以import pip
,挺有意思的。我不知道这个。
您可以列出所有包含包的位置,然后只列出这些目录中的所有文件(连同创建时间):
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 你可能更喜欢
希望对您有所帮助!
获得的不仅仅是日期和时间,还有安装方法,使用 pip-date
从版本 10.0.0 开始,get_installed_distributions()
与之前的位置相差 not accessible。
虽然 not recommended 将 pip 作为程序中的模块使用,但有时 - 就像这个问题 - 它会让事情变得更容易!
所以,我稍微搜索了一下库,找到了它的隐藏位置:)
这是@fixxxer 根据新 API 并与 Python 3.x 兼容的答案:
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))
pip-date 就像一个魅力,添加到它以防你想要以文本文件的形式获得该输出
pip-date >packagelist.txt
Pip 还没有为您提供该选项。不需要编码的简单方法是在计算机上找到已安装软件包的路径,并检查文件夹 created/modified 的日期和时间。标准路径通常是这样的:
Users\[whatever_username]\AppData\Roaming\Python\Python[3.x]
我想找到一种方法来为通过 pip 安装的包获取 hour:minute:seconds 格式的日历日期和时间。
我希望能够在输出中看到如下内容: Month/Day/Year - Hour:Minute:Seconds 对于每个包。
谢谢!
这是您要找的吗 -
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
代码来源 -
你也可以import pip
,挺有意思的。我不知道这个。
您可以列出所有包含包的位置,然后只列出这些目录中的所有文件(连同创建时间):
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 你可能更喜欢
希望对您有所帮助!
获得的不仅仅是日期和时间,还有安装方法,使用 pip-date
从版本 10.0.0 开始,get_installed_distributions()
与之前的位置相差 not accessible。
虽然 not recommended 将 pip 作为程序中的模块使用,但有时 - 就像这个问题 - 它会让事情变得更容易!
所以,我稍微搜索了一下库,找到了它的隐藏位置:) 这是@fixxxer 根据新 API 并与 Python 3.x 兼容的答案:
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))
pip-date 就像一个魅力,添加到它以防你想要以文本文件的形式获得该输出
pip-date >packagelist.txt
Pip 还没有为您提供该选项。不需要编码的简单方法是在计算机上找到已安装软件包的路径,并检查文件夹 created/modified 的日期和时间。标准路径通常是这样的:
Users\[whatever_username]\AppData\Roaming\Python\Python[3.x]