Python 部署失败,显示“打包 21.2 需要 pyparsing=2.0.2,但您有 pyparsing 3.0.5。”

Python 部署失败,显示“打包 21.2 需要 pyparsing=2.0.2,但您有 pyparsing 3.0.5。”

谷歌应用引擎中的问题:一周前的部署没有问题,现在我得到了

“打包 21.2 需要 pyparsing<3,>=2.0.2,但是您有 pyparsing 3.0.5。”

这两个包都没有在 requirements.txt 文件中定义。

看起来好像已自动部署了新的包装版本 21.2。如何解决?

更新:正在进行中:

https://github.com/pypa/packaging/pull/482

答案1

据报告,手动安装 pyparsing 2.4.7 是可行的。

我今天发布了 pyparsing 3.0.6,在其中我尝试解决使用 pyparsing 的打包代码中的问题。3.0.6 未通过打包 21.2 的 1 个单元测试,该测试针对异常消息中的特定字符串,但除此之外所有测试均通过。

请尝试安装 pyparsing 3.0.6,它应该与包装 21.2 及更高版本兼容。

[更新] Packaging 21.3 刚刚发布,因此您应该能够升级这两个库。看起来 Packaging 正在开发一个新的解析器来替换他们的 pyparsing 解析器,因此这将减少他们的外部依赖。(我认为这已经在他们的路线图中很长时间了,所以他们终于开始着手了。)

答案2

对于新手来说,这可能会修复基于 Ubuntu/Debian 的系统上的问题。

看到setup.py需要pyparsing运行后,我尝试手动安装,pip3 install pyparsing==2.0.2但那也需要pyparsinglol。所以我做的是sudo apt install python3-pyparsing,安装正确的版本后,您就可以setup.py再次使用了。

相关内容