【问题标题】:Accessing python egg's own metadata访问 python egg 自己的元数据
【发布时间】:2010-09-15 17:29:09
【问题描述】:

我使用 setuptools 制作了一个 python egg,并希望在运行时访问它的元数据。我目前正在处理这个:

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

但是如果我安装了同一个 egg 的多个版本,这可能会无法正常工作。如果我同时安装了 egg 和开发版本,那么从开发版本运行此代码将获取已安装 egg 的版本。

那么,我如何获取 my egg 的元数据而不是我系统上安装的随机匹配的 egg?

【问题讨论】:

    标签: python setuptools pkg-resources


    【解决方案1】:

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

    在站点注释上:这正是 zc.buildout 等系统的重点,它允许您定义将提供给您的库的确切版本,例如在开发应用程序或提供 Web 应用程序时。例如,您可以将 1.0 版用于一个项目,将 1.2 版用于另一个项目。

    【讨论】:

      【解决方案2】:

      我对 Python 也有些陌生,但据我了解:

      尽管您可以安装多个版本的“相同”egg(具有相同名称),但只有其中一个版本可用于运行时的任何特定代码(取决于您的发现方法)。因此,如果您的 egg 是调用此代码的那个,那么它一定已经被选为此代码的my_project 版本,并且您的访问权限将是您自己的版本。

      【讨论】:

        猜你喜欢
        • 2012-09-25
        • 2018-09-21
        • 1970-01-01
        • 2011-12-29
        • 1970-01-01
        • 2017-10-26
        • 1970-01-01
        • 2011-04-08
        • 2011-02-07
        相关资源
        最近更新 更多