代码之家  ›  专栏  ›  技术社区  ›  Pēteris Caune

访问python egg自己的元数据

  •  5
  • Pēteris Caune  · 技术社区  · 16 年前

    我已经使用安装工具生成了一个python egg,并希望在运行时访问它的元数据。我目前正在做这个:

    import pkg_resources
    dist = pkg_resources.get_distribution("my_project")
    print(dist.version)
    

    但如果我安装了同一个鸡蛋的多个版本,这可能会不正确。如果我同时安装了egg和开发版本,那么从开发版本运行这段代码将获得已安装egg的版本。

    那么,如何获取元数据 我的 鸡蛋不是随机匹配的鸡蛋安装在我的系统上吗?

    2 回复  |  直到 16 年前
        1
  •  4
  •   Adam Bellaire    16 年前

    我对python也有点陌生,但据我所知:

    尽管您可以安装多个版本的“同一个”egg(具有相同的名称),但在运行时(基于您的发现方法),只有一个版本可用于任何特定的代码段。因此,如果您的蛋是调用此代码的蛋,则它必须已被选为 这个 版本 my_project 对于此代码,您将可以访问自己的版本。

        2
  •  0
  •   Horst Gutmann    16 年前

    确切地。因此,您应该只能获取当前可用的图书馆鸡蛋(单数)的信息。如果您的站点包文件夹中有同一个库的多个鸡蛋,请检查同一文件夹中的easy-install.pth,以查看真正使用的是哪个鸡蛋:-)

    在网站上注意:这正是zc.buildout这样的系统的要点,它允许您定义库的确切版本,例如,在开发应用程序或为Web应用程序提供服务时,库将对您可用。例如,您可以对一个项目使用1.0版,对另一个项目使用1.2版。

    推荐文章