You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中出现No module named 'graphql.type'错误的求助

问题:Django+Ariadne运行时报错ModuleNotFoundError: No module named 'graphql.type'

我是Django和GraphQL的新手,正在跟着教程学习。在虚拟环境用Python 3.8,Windows系统用Python 3.10,两边都出现相同错误,也查过Stack Overflow上的相关问题。我听说GraphQL可以生成查询,但不知道具体操作,目前遇到的报错如下:

Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/home/talha/ve/lib/python3.8/site-packages/django/utils/autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "/home/talha/ve/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 125, in inner_run    autoreload.raise_last_exception()
  File "/home/talha/ve/lib/python3.8/site-packages/django/utils/autoreload.py", line 87, in raise_last_exception
    raise _exception[1]
  File "/home/talha/ve/lib/python3.8/site-packages/django/core/management/__init__.py", line 398, in execute
    autoreload.check_errors(django.setup)()
  File "/home/talha/ve/lib/python3.8/site-packages/django/utils/autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "/home/talha/ve/lib/python3.8/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/talha/ve/lib/python3.8/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "/home/talha/ve/lib/python3.8/site-packages/django/apps/config.py", line 193, in create
    import_module(entry)
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/talha/ve/lib/python3.8/site-packages/ariadne/__init__.py", line 1, in <module>
    from .enums import (
  File "/home/talha/ve/lib/python3.8/site-packages/ariadne/enums.py", line 17, in <module>
    from graphql.type import GraphQLEnumType, GraphQLNamedType, GraphQLSchema
ModuleNotFoundError: No module named 'graphql.type'

解决方法

这个错误是因为Ariadne依赖的graphql-core包未正确安装,或者版本不兼容导致的,按以下步骤修复:

  1. 卸载现有冲突的包:
pip uninstall -y graphql-core graphql-relay ariadne
  1. 重新安装兼容版本的依赖:
    直接让pip自动处理兼容配置:
pip install ariadne

如果自动安装仍有问题,手动指定经过验证的兼容版本:

pip install graphql-core==3.2.3 ariadne==0.20.0
  1. 验证安装结果:
pip list | grep graphql

确保输出中存在graphql-core,且版本符合Ariadne的要求。


关于GraphQL生成查询的操作说明

当你配置好Ariadne和Django后,有两种常用方式生成并执行查询:

  • GraphQL Playground:启动Django服务后,访问http://localhost:8000/graphql(路径根据你的配置调整),在界面中编写查询语句,比如:
query {
  allPosts {
    id
    title
  }
}

点击执行按钮即可获取返回的数据。

  • curl命令:通过POST请求发送查询到GraphQL端点:
curl -X POST -H "Content-Type: application/json" -d '{"query": "query { allPosts { id title } }"}' http://localhost:8000/graphql

内容的提问来源于stack exchange,提问作者Talha Zafar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 18:45:30