我正在根据目录中的标准setup.py编写基于Flask的模块:
#!/usr/bin/env python
from distutils.core import setup
setup(name=modulename,
version='0.2.16.dev0',
description='...',
author='...',
...
)
我愿意使用Flask API公开模块版本。以编程方式访问我自己的模块版本的正确方法是什么?
谢谢
更新 我忘了提到模块没有必要作为标准模块安装,可能在PYTHONPATH中不可用。这就是为什么这个问题与this和this
不同的原因答案 0 :(得分:0)
将版本放入version.py
或__version__.py
或类似内容(在包内)并将其导入setup.py
和应用程序:
from distutils.core import setup
from mypackage.version import version
setup(…
version=version,
…
)
如果在setup.py
中导入您的软件包会导致不必要的副作用,您可以阅读mypackage/version.py
并解析它或exec()
或单独导入它(没有软件包): p>
from imp import load_source
from os.path import abspath, dirname, join
versionpath = join(abspath(dirname(__file__)), "mypackage", "__version__.py")
load_source("mapackage_version", versionpath)
from mapackage_version import version