访问python egg自己的元数据
-
05-07-2019 - |
题
我使用setuptools生成了一个python egg,并希望在运行时访问它的元数据。我目前正在努力:
import pkg_resources
dist = pkg_resources.get_distribution("my_project")
print(dist.version)
但如果我安装了同一个鸡蛋的多个版本,这可能会错误地工作。如果我同时安装了egg和开发版本,那么从开发版本运行此代码将获取已安装的egg的版本。
那么,我如何获取 my egg的元数据而不是我系统上安装的一些随机匹配的egg?
解决方案
我对Python也有些新意,但据我所知:
虽然您可以安装“相同”的多个版本。 egg(具有相同的名称),在运行时(根据您的发现方法),其中只有一个可用于任何特定的代码段。因此,如果您的蛋是调用此代码的那个,那么它必须已被选为此代码的 my_project
的版本,并且您的访问权限将是您自己的版本。
其他提示
完全。因此,您应该只能获取图书馆当前可用鸡蛋(单数)的信息。如果您的site-packages文件夹中有相同库的多个鸡蛋,请检查同一文件夹中的easy-install.pth以查看实际使用的鸡蛋: - )
在网站上注意:这正是像zc.buildout这样的系统,它允许您定义在开发应用程序或提供Web应用程序时可供您使用的库的确切版本。例如,您可以将1.0版用于一个项目,将1.2用于另一个项目。
不隶属于 StackOverflow