Python 如何判断setup()是否正在读取setup.cfg?
我得到了一个使用生成的Python项目,我在根Python 如何判断setup()是否正在读取setup.cfg?,python,setuptools,Python,Setuptools,我得到了一个使用生成的Python项目,我在根setup.py和setup.cfg上看到了两个标准的主项目文件。我修改了setup.cfg文件,在元数据部分下添加了一行version=1.0.0 但是,运行python setup.py develope或python setup.py sdist时,我在输出中看到工件名称没有我在setup.cfg中指定的版本。我看到以下情况: Installed c:\users\SkyWalker\code\my_project\src Processing
setup.py
和setup.cfg
上看到了两个标准的主项目文件。我修改了setup.cfg
文件,在元数据部分下添加了一行version=1.0.0
但是,运行python setup.py develope
或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
生成的pyscaffoldsetup.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)
#-*-编码:utf-8-*-
"""
aqm_数据库_api的安装文件。
使用setup.cfg配置项目。
此文件是使用PyScaffold 3.2.3生成的。
PyScaffold帮助您搭建新Python项目的脚手架。
了解更多信息,请访问:https://pyscaffold.org/
"""
导入系统
从pkg_资源导入版本冲突,需要
从设置工具导入设置
尝试:
需要('setuptools>=37.0')
除版本冲突外:
打印(“错误:setuptools的版本太旧(PyScaffold将setuptools
配置为使用提供的版本。
这意味着,为了更改项目的版本,您需要。中简要介绍了这一点
我想这就是为什么更改setup.cfg
不会更改所创建的分发版本的原因
要确保setuptools
正在读取setup.cfg
可以做的一个实验是:
确保删除项目根目录下或src
文件夹中的所有*.egg info
文件夹(以确保看不到缓存版本)
在setup.cfg
文件中更改类似author的简单内容
按照通常的方式构建包(例如,python setup.py bdist\u wheel
)
查找在项目根目录或src
目录中生成的新.egg info
文件夹。阅读那里的PKG-info
。你应该能够看到你的更改,这证明setuptools
正在阅读setup.cfg
(否则,最好的选择应该是使用setuptools
打开票据/发行)