PEP508:为什么版本要求或 URL 而不是两者?
PEP508: why either version requirement or URL but not both?
在 setup.py
文件中配置 install_requires=[...]
时,我们可以指定任一版本号:
package >= 1.2.3
或来源:
package @ git+https://git.example.com/some/path/to/package@master#egg=package
但我没有管理员指定两者,我尝试的所有操作都出现错误。
看着PEP 508,好像是有意的:
specification = wsp* ( url_req | name_req ) wsp*
其中 wsp*
仅表示可选空格。
我没看错吗,这样写是不可能的?
package >= 1.2.3 @ git+https://...
做出这个决定的原因是什么?
我认为这是因为从 URL/Github 获取 python 包无法像通过 PyPi 存储的包那样获取历史 builds/packages .
Github/URLs 引用单个代码快照,如果您在 GitHub 中有标签或发布分支,您可以模拟获取特定版本并更新 URL 以引用这些版本:
git+https://git.example.com/some/path/to/package@master#egg=package
git+https://git.example.com/some/path/to/package@develop#egg=package
git+https://git.example.com/some/path/to/package@1.4.2#egg=package
在 setup.py
文件中配置 install_requires=[...]
时,我们可以指定任一版本号:
package >= 1.2.3
或来源:
package @ git+https://git.example.com/some/path/to/package@master#egg=package
但我没有管理员指定两者,我尝试的所有操作都出现错误。
看着PEP 508,好像是有意的:
specification = wsp* ( url_req | name_req ) wsp*
其中 wsp*
仅表示可选空格。
我没看错吗,这样写是不可能的?
package >= 1.2.3 @ git+https://...
做出这个决定的原因是什么?
我认为这是因为从 URL/Github 获取 python 包无法像通过 PyPi 存储的包那样获取历史 builds/packages .
Github/URLs 引用单个代码快照,如果您在 GitHub 中有标签或发布分支,您可以模拟获取特定版本并更新 URL 以引用这些版本:
git+https://git.example.com/some/path/to/package@master#egg=package
git+https://git.example.com/some/path/to/package@develop#egg=package
git+https://git.example.com/some/path/to/package@1.4.2#egg=package