如何查找pip的安装和卸载历史记录?

问题描述 投票:0回答:1

今天我在 conda 虚拟环境中添加了一些软件包,但不幸的是,某些软件包存在依赖问题,导致许多软件包版本发生变化。

我尝试过如何用conda进行逆向,但是我还没有备份环境和包版本。

$ conda list --revisions
2024-01-21 19:17:03  (rev 0)
    +_libgcc_mutex-0.1 (defaults/linux-64)
    +_openmp_mutex-5.1 (defaults/linux-64)
    +bzip2-1.0.8 (defaults/linux-64)
    +ca-certificates-2023.12.12 (defaults/linux-64)
    +ld_impl_linux-64-2.38 (defaults/linux-64)
    +libffi-3.4.4 (defaults/linux-64)
    +libgcc-ng-11.2.0 (defaults/linux-64)
    +libgomp-11.2.0 (defaults/linux-64)
    +libstdcxx-ng-11.2.0 (defaults/linux-64)
    +libuuid-1.41.5 (defaults/linux-64)
    +ncurses-6.4 (defaults/linux-64)
    +openssl-3.0.12 (defaults/linux-64)
    +pip-23.3.1 (defaults/linux-64)
    +python-3.10.13 (defaults/linux-64)
    +readline-8.2 (defaults/linux-64)
    +setuptools-68.2.2 (defaults/linux-64)
    +sqlite-3.41.2 (defaults/linux-64)
    +tk-8.6.12 (defaults/linux-64)
    +tzdata-2023d (defaults/noarch)
    +wheel-0.41.2 (defaults/linux-64)
    +xz-5.4.5 (defaults/linux-64)
    +zlib-1.2.13 (defaults/linux-64)

我也尝试过这个作为答案所说的

import pip, os, time

for package in pip.get_installed_distributions():
    print ("%s: %s" % (package, time.ctime(os.path.getctime(package.location))))

但是仍然有一些错误:

Traceback (most recent call last):
  File "/home/ac/test/rev.py", line 3, in <module>
    for package in pip.get_installed_distributions():
AttributeError: module 'pip' has no attribute 'get_installed_distributions'
python pip dependencies conda
1个回答
0
投票

根据 在 pip 的 github 问题页面上发帖的人

您可以使用 pkg_resources.working_set 来获取相同的信息。它是 setuptools 的一部分,可能已经安装在您的系统上。这是获取完全相同信息的受支持方法。不支持使用pip的内部函数。

import pkg_resources

dists = [d for d in pkg_resources.working_set]
# Filter out distributions you don't care about and use.
© www.soinside.com 2019 - 2024. All rights reserved.