說我有一包用egg_info -b mytag
生成的腳本控制檯腳本如是什麼形式「包===版」的setuptools的要求,目的
from setuptools import setup
setup(
name='eg_package',
version='0.0.1',
description='Trivial test package',
packages=[
'eg_package',
],
entry_points={
'console_scripts': [
'foo = eg_package.main:main',
]
},
)
如果我設置和明確構建標籤具有__requires__ = 'eg-package===0.0.1mytag'
,即具有3「=」符號。發生這種情況的標籤不是像b1
這樣的傳統版本。
起初我以爲這是一個錯誤,但setuptools文檔表明它是一個有效的需求標識符。但是,它不適用於舊版本的setuptools,這會對我們的系統造成問題。
我的問題是"==="
是什麼意思,爲什麼現代setuptools
使用它?
您可以找到''在=== PEP440 HTTPS的官方說明:// WWW。 python.org/dev/peps/pep-0440/#arbitrary-equality – cel
謝謝,這非常明智。我習慣了早期版本的setuptools的更寬鬆的規則,但我很高興被迫變成更嚴格的版本字符串。遺憾的是這在[docs](https://pythonhosted.org/setuptools/search.html)或[包裝指南](https://packaging.python.org/en/latest/)中未提及。 。 –
我的特別問題是運行最新setuptools的構建系統正在構建debian軟件包,這些軟件包將被安裝到沒有最新setuptools的vanilla ubuntu系統中=>不支持PEP440需求描述。 –