尝试使用 Flask-GraphQL、graphene、starlette-graphene3 和 graphene-federation 将 python 代码与现有的 graphql 服务器集成。该代码在尝试安装 graphene-federation 之前就有效了。 其他尝试意味着 pip 无法解决依赖关系。 安装 federation 之前的软件包和 graphql IDE 在本地运行。
Flask==1.0.2
Flask-GraphQL==2.0.0
graphene==2.1.3
graphql-core==2.1
graphql-relay==0.4.5
graphql-server-core==1.1.1`
如果我安装 graphene-federation 那么存在依赖关系问题,这些问题可以通过这些包解决
Flask 1.0.2
Flask-GraphQL 2.0.0
graphene 3.1
graphene-federation 3.1.4
graphene-sqlalchemy 2.1.0
graphql-core 3.2.0
graphql-relay 3.1.0
graphql-server-core 1.1.1
graphql-utilities 0.4.0
starlette 0.25.0
starlette-graphene3 0.6.0
但是这会给出错误
ImportError: cannot import name 'get_default_backend' from 'graphql'
你的帖子已经有几个月了,但我自己也遇到了这个问题,经过几个痛苦的小时后,我设法解决了它。
我假设当您尝试导入 Flask-graphql 库时会出现异常。事实证明,它现在维护在 graphql-server 存储库中,因此您最好删除对该库的依赖项,并为 graphql-server 添加一个新的依赖项。您将能够从中导入flask-graphql。
以下是我正在使用的版本:
graphql-server==3.0.0b7
graphql-server-core==1.1.1
graphql-core==3.2.3
graphql-relay==3.2.0
Flask==3.0.2
Flask-GraphQL==2.0.0
graphene==3.3
我还没有进一步检查这些库的其他版本之间潜在的负面相互作用。
此外,这是 graphql-server 存储库中使用示例的链接。
希望它可以帮助任何面临类似问题的人。