![Python 部署失败,显示“打包 21.2 需要 pyparsing=2.0.2,但您有 pyparsing 3.0.5。”](https://linux22.com/image/772120/Python%20%E9%83%A8%E7%BD%B2%E5%A4%B1%E8%B4%A5%EF%BC%8C%E6%98%BE%E7%A4%BA%E2%80%9C%E6%89%93%E5%8C%85%2021.2%20%E9%9C%80%E8%A6%81%20pyparsing%3D2.0.2%EF%BC%8C%E4%BD%86%E6%82%A8%E6%9C%89%20pyparsing%203.0.5%E3%80%82%E2%80%9D.png)
谷歌应用引擎中的问题:一周前的部署没有问题,现在我得到了
“打包 21.2 需要 pyparsing<3,>=2.0.2,但是您有 pyparsing 3.0.5。”
这两个包都没有在 requirements.txt 文件中定义。
看起来好像已自动部署了新的包装版本 21.2。如何解决?
更新:正在进行中:
答案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
但那也需要pyparsing
lol。所以我做的是sudo apt install python3-pyparsing
,安装正确的版本后,您就可以setup.py
再次使用了。