Python 运行setup.py将创建未设置版本的version.py文件
运行my setup.py时,将创建一个version.py文件,而不使用该文件中指定的版本。如何修复它以指定版本 这是我的setup.py:Python 运行setup.py将创建未设置版本的version.py文件,python,Python,运行my setup.py时,将创建一个version.py文件,而不使用该文件中指定的版本。如何修复它以指定版本 这是我的setup.py: from setuptools import setup, find_packages from codecs import open from os import path here = path.abspath(path.dirname(__file__)) with open(path.join(here, 'README.md'), enc
from setuptools import setup, find_packages
from codecs import open
from os import path
here = path.abspath(path.dirname(__file__))
with open(path.join(here, 'README.md'), encoding='utf-8') as f:
long_description = f.read()
def parse_requirements(filename):
lineiter = (line.strip() for line in open(filename))
return [line for line in lineiter if line and not line.startswith("#")]
install_reqs = parse_requirements(filename='requirements.txt')
setup(
name='eagle-py-framework', # Required
version=1.0, # Required
description='Eagle Python Framework', # Required
long_description=long_description, # Optional
author='asdf', # Optional
author_email='asdf',
url='asdf',
classifiers=[ # Optional
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'Topic :: Software Development :: Build Tools',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
],
packages=find_packages(exclude=['contrib', 'docs', 'tests']), # Required
install_requires=install_reqs, # Optional
)
我用来运行它的命令是:
python setup.py sdist
它创建的version.py文件仅包含以下内容:
__version__=
使用版本作为字符串
setup(
name='eagle-py-framework', # Required
version = "1.0", # Required #string
)
从这里开始->
3) 当模块(或软件包)包含版本号时,版本
应在版本属性中提供
4) 对于位于命名空间包中的模块,该模块
应包括版本属性。名称空间包本身
不应包括其自己的版本属性
5) 版本属性的值应为字符串
刚刚尝试了这个,由于某种原因,它仍然不起作用。我得到以下警告:UserWarning:Unknown分发选项:“version”警告。warn(msg)@chrissley将version用作stringok,这似乎在大部分情况下都有效。没有显示version.py文件(我希望这是正确的行为);然而,它仍然显示出用户警告。@chrissley太棒了,我添加了一个链接,你可以从中获得一些信息。人们应该知道,PEP-0396在2021-04-14年被拒绝了。“自该PEP首次编写以来,在这几年中,包装生态系统发生了显著的变化,API如importlib.metadata.versions()提供更好的体验。“
version
应该是字符串。