今天在装包的时候,不小心将本该装到 Python 虚拟环境中的包安装到了机器真实环境中,所以需要对其筛选并清除,那么如何找到特定日期之后安装的 Python 包呢?在 这里 找到了解决方案,最后做了一个简单的封装,如下:
""" Usage: 修改 specific_time(like:2019-12-07),以找到该日期之后安装的 pip 包 """ import os import time import datetime from pip._internal.utils.misc import get_installed_distributions
def get_all_packages(): """ 获取到所有安装的 packages :return: """ install_packages = get_installed_distributions() return install_packages
def get_after_date_packages(date=None): """ 获取指定日期之后安装的 package :param date:str, like:2019-12-07 :return: """ if not date: date = datetime.datetime.today().strftime('%Y-%m-%d')
install_packages = get_all_packages() for package in install_packages: package_ctime = os.path.getctime(package.location) time_array = time.localtime(package_ctime) strftime_package = time.strftime("%Y-%m-%d", time_array)
if strftime_package >= date: print(time.strftime('%Y-%m-%d-%H:%M:%S', time_array), package)
if __name__ == '__main__': specific_time = '2019-11-06' get_after_date_packages(specific_time)
|
使用的时候只需要将年月日以%Y-%m-%d
的格式给出就可以打印出该日期之后安装的包了。
发现一个可以处理卸载命令的增强,能删除卸载软件包的所有依赖关系问题
的包:
举一反三,Linux 环境中的呢