Python3.9安装grammar包提示找不到vineyard依赖版本报错如何解决
报错根因
报错的核心原因是vineyard官方未发布适配Windows平台、Python3.9版本的预编译安装包,而你要安装的grammar包、vineyard-io包都强制依赖对应版本的vineyard本体,因此pip无法找到匹配的依赖版本抛出错误。
可行解决方案
- 方案1:使用WSL2绕过平台限制
启用Windows自带的WSL2子系统安装Ubuntu发行版,在Linux环境下安装Python3.9后直接执行pip install grammar,即可正常拉取Linux版本的vineyard依赖,无兼容问题。 - 方案2:手动编译Windows版本vineyard
若必须在原生Windows环境安装,需要先自行编译适配的vineyard包:- 前置安装编译依赖:Visual Studio 2022(勾选C++桌面开发组件)、CMake、Git
- 拉取vineyard源码切换到v0.2.7版本tag
- 按编译流程生成适配Python3.9的wheel安装包
- 先执行
pip install 本地编译好的vineyard-0.2.7-cp39-cp39-win_amd64.whl安装vineyard本体,再安装grammar或vineyard-io即可完成依赖安装。
- 方案3:更换替代依赖包
你要安装的grammar包已经多年未更新维护,如果你不需要绑定vineyard相关功能,可直接换用更活跃的语法分析工具,比如lark、pyparsing,直接执行pip install lark即可正常安装使用,无额外平台依赖。
内容的提问来源于stack exchange,提问作者Arthi Rajendran
相关产品推荐
相关产品推荐

