代码之家  ›  专栏  ›  技术社区  ›  oarfish

如何卸载安装工具插件?

  •  1
  • oarfish  · 技术社区  · 7 年前

    我有一个利用入口点的包裹 point 这样地:

    subscribers = {
        entry_point.name: entry_point.load()
        for entry_point in pkg_resources.iter_entry_points('point')
    }
    __all__.extend(list(subscribers.keys()))
    

    我曾经有一个模块定义了 DummySubscriber 有了这个代码 setup.py 文件

     entry_points={
              'point': [
                  'DummySubscriber = dummy.dummy:DummySubscriber',
    …
    

    或类似的。 现在每当我 iter_entry_points('point') 我也得到了这个插件(或者类),尽管包已经被删除了(源代码已经不存在,并且在anaconda安装目录中没有任何内容)。我不知道这个插件是如何存在的。

    我浏览了整个水蟒安装目录,但没有发现任何东西。

    如何删除它?

    1 回复  |  直到 7 年前
        1
  •  1
  •   hoefling    7 年前

    如注释中所述,如果加载了入口点,则可以通过调用 pkg_resources 公用事业:

    In [1]: import os
    
    In [2]: import pkg_resources
    
    In [3]: print(os.linesep.join(('{}: {}'.format(ep.name, ep.dist.egg_info) for ep in pkg_resources.iter_entry_points('point'))))
    DummySubscriber: /home/share/miniconda3/envs/torch/lib/python3.6/site-packages/dummy_subscriber-0.0.2-py3.6.egg/EGG-INFO
    

    这将在磁盘上打印入口点的包原点。要么是 *.dist-info 目录,或(如您的情况)档案(鸡蛋,轮子,压缩文件等)。无论采用哪种方法,您都将获得包的名称和版本(在本例中, dummy_subscriber==0.0.2 )然后您可以尝试使用用于安装的包管理器卸载它。( pip ,请 easy_install ,系统包管理器)。