With 1.1.6 or 1.1.7 (not sure about earlier versio...
# ask-community
m
With 1.1.6 or 1.1.7 (not sure about earlier versions), when I run
dagit
I get
cannot import name 'introspection_query' from 'graphql'
. Anyone else seeing this? I tried reinstalling my requirements in a fresh venv. And I think my only graphql requirements are coming from Dagster. I can call
execute_job
or run via Dagster Cloud just fine.
I found this somewhat similar issue in another package from 2021 suggesting it could be something about import order.
d
hey mark, what version of gql is installed?
(
pip list | grep gql
)
one other question, i noticed there's no version of dagit listed in that list of packages despite grepping for it - any idea what's going on there?
last thing is probably just a paste error, but just checking
m
Full stack:
Copy code
$ dagit -m orchestration.main.local
Traceback (most recent call last):
  File ".direnv/python-3.10.8/bin/dagit", line 5, in <module>
    from dagit.cli import main
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/dagit/cli.py", line 21, in <module>
    from .app import create_app_from_workspace_process_context
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/dagit/app.py", line 11, in <module>
    from .webserver import DagitWebserver
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/dagit/webserver.py", line 7, in <module>
    from dagster_graphql import __version__ as dagster_graphql_version
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/dagster_graphql/__init__.py", line 3, in <module>
    from .client import (
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/dagster_graphql/client/__init__.py", line 1, in <module>
    from .client import DagsterGraphQLClient
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/dagster_graphql/client/client.py", line 5, in <module>
    from gql import Client, gql
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/gql/__init__.py", line 2, in <module>
    from .client import Client
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/gql/client.py", line 3, in <module>
    from graphql import parse, introspection_query, build_ast_schema, build_client_schema
ImportError: cannot import name 'introspection_query' from 'graphql' (.direnv/python-3.10.8/lib/python3.10/site-packages/graphql/__init__.py)
Copy code
dagit                                    1.1.7
gql                                      0.1.0
d
try a "pip install --upgrade gql"
m
Oh weird,
0.1.0
is very old. We have an internal PyPI (on AWS Codeartifact) which sometimes blocks seeing the latest versions unless you ask for them explicitly, which is probably what happened there.
d
thanks for the report - https://github.com/dagster-io/dagster/pull/11312 should resolve by adding a pin
thankyou 1
m
I also got this import error, resolved with `pip install requests-toolbelt`:
Copy code
$ dagit -m orchestration.main.local
Traceback (most recent call last):
  File ".direnv/python-3.10.8/bin/dagit", line 5, in <module>
    from dagit.cli import main
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/dagit/cli.py", line 21, in <module>
    from .app import create_app_from_workspace_process_context
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/dagit/app.py", line 11, in <module>
    from .webserver import DagitWebserver
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/dagit/webserver.py", line 7, in <module>
    from dagster_graphql import __version__ as dagster_graphql_version
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/dagster_graphql/__init__.py", line 3, in <module>
    from .client import (
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/dagster_graphql/client/__init__.py", line 1, in <module>
    from .client import DagsterGraphQLClient
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/dagster_graphql/client/client.py", line 7, in <module>
    from gql.transport.requests import RequestsHTTPTransport
  File ".direnv/python-3.10.8/lib/python3.10/site-packages/gql/transport/requests.py", line 11, in <module>
    from requests_toolbelt.multipart.encoder import MultipartEncoder
ModuleNotFoundError: No module named 'requests_toolbelt'
d
Ah yes sorry, what I should have recommended was
Copy code
pip install --upgrade gql[requests]
👍🏻 1