【发布时间】:2020-03-18 12:25:53
【问题描述】:
我得到了一个使用pyscaffold 生成的 Python 项目,我在根目录 setup.py 和 setup.cfg 看到了两个标准主项目文件。我修改了setup.cfg 文件,在元数据部分下添加了一行version=1.0.0。
但是,在运行 python setup.py develop 或 python setup.py sdist 时,我在输出中看到工件名称没有我在 setup.cfg 中指定的版本。我看到以下内容:
Installed c:\users\SkyWalker\code\my_project\src
Processing dependencies for my_project==0.0.post0.dev1+g8386a10.dirty
Finished processing dependencies for my_project==0.0.post0.dev1+g8386a10.dirty
分发工件有这个0.0.post0.dev1+g8386a10.dirty 版本,我不知道它是从哪里得到的。如何判断python.cfg是否被读取?
生成的 pyscaffold setup.py 如下所示:
# -*- coding: utf-8 -*-
"""
Setup file for aqm_database_api.
Use setup.cfg to configure your project.
This file was generated with PyScaffold 3.2.3.
PyScaffold helps you to put up the scaffold of your new Python project.
Learn more under: https://pyscaffold.org/
"""
import sys
from pkg_resources import VersionConflict, require
from setuptools import setup
try:
require('setuptools>=37.0')
except VersionConflict:
print("Error: version of setuptools is too old (<37.0)!")
sys.exit(1)
if __name__ == "__main__":
setup(use_pyscaffold=True)
所以它没有显式加载setup.cfg,而且require('setuptools>=37.0') 行每次都会失败,无论版本值是什么。
【问题讨论】:
标签: python setuptools