【发布时间】:2017-01-19 13:44:40
【问题描述】:
我有一个带有目录结构的 Python2/3 小项目
superproject/
-> __init__.py
-> meta.py
setup.py
__init__.py 文件包含一堆imports 和实际代码,meta 有
__author__ = 'John Doe'
__author_email__ = 'john@doe.com'
__version__ = '1.2.3'
# [...]
我想在 setup.py(简单:只需 import superproject.meta)和 superproject 中提供元信息
import superproject
print(superproject.__version__)
我正在努力满足后一个要求。做的时候
from .meta import *
在__init__.py,我只能这样做
print(superproject.meta.__version__)
例如。
请注意,我不能将元信息直接放在__init__.py 中,因为我必须将import superproject 放在setup.py 中,而superproject 的众多import 依赖项当时还不可用。
有什么提示吗?
【问题讨论】:
-
针对这个看似棘手的问题的更多选项:packaging.python.org/single_source_version
-
@jwodder 正是我想要的。如果您将此提升为答案,我很乐意将其标记为解决方案。
-
@NicoSchlömer:这是一个仅限链接的“答案”。如果我将其提升为答案,我会自己投反对票并标记它。