我在readthedocs.org上维护了一个包,我使用Sphinx自动生成了该包的文档。对于Sphinx/readthedocs,我使用conf.py
和正确定义的.readthedocs.yaml
。
在conf.py
内部,我使用版本:
import pybliometrics
version = pybliometrics.__version__
release = pybliometrics.__version__.replace("_", "")
版本在pybliometrics/__init__.py
中生成。包本身也在代码中的某个地方使用自己的版本。
当我使用pbr
(Python构建合理性)(如)进行版本控制时
from pbr.version import VersionInfo
_v = VersionInfo('pybliometrics').semantic_version()
__version__ = _v.release_string()
那么readthedocs上的构建过程可以毫无问题地工作(假设我让它安装pbr
)。
然而,当它看起来像时
from importlib.metadata import version
__version__ = version("pybliometrics")
则构建过程使用CCD_ 7失败。与importlib_metadata
相同。
那里发生了什么?我切换到importlib.metadata
的原因是,我可以用setuptools_scm
完成整个构建过程,并去掉setup.py
和setup.cfg
。
您可能需要在RTDrequirements.txt
构建文件中执行等效的pip install -e
。
请参阅此处的.readthedocs.yml示例,并参阅此处的requirements.txt。