在pyproject.toml中配置Windows专属lxml wheel依赖时遇PEP 508格式错误
解决lxml Windows专属依赖的PEP508格式错误
问题出在PEP508的语法规则上:当依赖包含URL(即@后指定wheel文件地址)时,环境标记不能直接跟在URL末尾,必须把整个带URL的依赖用括号包裹,再在括号外添加环境限制标记。
正确配置示例
dependencies = [ '(lxml @ https://download.lfd.uci.edu/pythonlibs/archived/lxml-4.9.0-cp311-cp311-win_amd64.whl#egg=lxml-4.9.0); sys_platform == "win32"', 'some-other-package', ]
原因说明
PEP508对URL类型的依赖有明确语法要求:URL需求本身需要作为一个整体被括号包裹,环境标记作为独立的条件部分放在括号外。直接在URL后加;会被解析器误判为URL的一部分,不符合PEP508的格式规范,因此触发了must be pep508的错误。
内容的提问来源于stack exchange,提问作者Clara
相关产品推荐
相关产品推荐

