Before I begin, I'd like to preface that I'm relatively new to python, and haven't had to use it much before this little project of mine. I'm trying to make a twitter bot as part of an art project, and I can't seem to get tweepy to import. I'm using macOS High Sierra and Python 3.7. I first installed tweepy by using
pip3 install tweepy
and this appeared to work, as I'm able to find the tweepy files in finder. However, when I simply input
import tweepy
into the IDLE, I get this error:
Traceback (most recent call last):
File "/Users/jacobhill/Documents/CicadaCacophony.py", line 1, in <module>
import tweepy
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tweepy/__init__.py", line 17, in <module>
from tweepy.streaming import Stream, StreamListener
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tweepy/streaming.py", line 358
def _start(self, async):
^
SyntaxError: invalid syntax
Any idea on how to remedy this? I've looked at other posts on here and the other errors seem to be along the lines of "tweepy module not found", so I don't know what to do with my error. Thanks!
In Python3.7,
async
became a reserved word (as can be seen in whats new section here) and therefore cannot be used as argument. This is why thisSyntax Error
is raised.That said, and following
tweetpy
s official GitHub (here), onlyHowever, if you really must use Python3.7, there is a workaround. Following this suggestion, you can
and it should work
Using
async
as an identifier has been deprecated since Python 3.5, and became an error in Python 3.7, because it's a keyword.This Tweepy bug was reported on 16 Mar, and fixed on 12 May, but there hasn't been a new release yet. Which is why, as the repo's main page says:
For the time being, you can install the development version:
Or, since you've already installed an earlier version:
You could also follow the instructions from the repo:
However, this will mean
pip
may not fully understand what you've installed.