Forums

ImportError when using twint

Hello there,

I'm trying to use twint in a script running inside a virtual environment, but I'm getting the following error when I try to import it:

Traceback (most recent call last):
  File "/home/alexjayclark/telegraph/ukraine/gatherers/gathering_twitter.py", line 11, in <module>
    import twint
  File "/home/alexjayclark/.virtualenvs/ukraine/lib/python3.6/site-packages/twint/__init__.py", line 14, in <module>
    from . import run
  File "/home/alexjayclark/.virtualenvs/ukraine/lib/python3.6/site-packages/twint/run.py", line 4, in <module>
    from . import datelock, feed, get, output, verbose, storage
  File "/home/alexjayclark/.virtualenvs/ukraine/lib/python3.6/site-packages/twint/get.py", line 6, in <module>
    import aiohttp
  File "/home/alexjayclark/.virtualenvs/ukraine/lib/python3.6/site-packages/aiohttp/__init__.py", line 6, in <module>
    from .client import (
  File "/home/alexjayclark/.virtualenvs/ukraine/lib/python3.6/site-packages/aiohttp/client.py", line 36, in <module>
    from . import hdrs, http, payload
  File "/home/alexjayclark/.virtualenvs/ukraine/lib/python3.6/site-packages/aiohttp/http.py", line 7, in <module>
    from .http_parser import (
  File "/home/alexjayclark/.virtualenvs/ukraine/lib/python3.6/site-packages/aiohttp/http_parser.py", line 41, in <module>
    from .streams import EMPTY_PAYLOAD, StreamReader
  File "/home/alexjayclark/.virtualenvs/ukraine/lib/python3.6/site-packages/aiohttp/streams.py", line 4, in <module>
    from typing import Awaitable, Callable, Deque, Generic, List, Optional, Tuple, TypeVar
ImportError: cannot import name 'Deque'

I've tried searching the internet for a solution, but can't seem to find one. For some reason I can import twint when working inside iPython within my virtual environment - just not from within the script.

Any ideas?

That looks like you need to install a specific version of typing into your virtualenv. Check the twint docs to see what you need.