石墨烯联盟导致依赖问题

问题描述 投票:0回答:1

尝试使用 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'
python pip graphql dependencies graphql-federation
1个回答
0
投票

你的帖子已经有几个月了,但我自己也遇到了这个问题,经过几个痛苦的小时后,我设法解决了它。

我假设当您尝试导入 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 存储库中使用示例的链接

希望它可以帮助任何面临类似问题的人。

© www.soinside.com 2019 - 2024. All rights reserved.