Tweepy no se instalará en Python 3.7; muestra “error de syntax”

Antes de comenzar, me gustaría aclarar que soy relativamente nuevo en Python, y no he tenido que usarlo mucho antes de este pequeño proyecto mío. Estoy tratando de hacer un bot de twitter como parte de un proyecto de arte, y parece que no puedo lograr que tweepy importe. Estoy usando macOS High Sierra y Python 3.7. Primero instalé tweepy usando

pip3 install tweepy 

y esto parece funcionar, ya que soy capaz de encontrar los archivos tweepy en el buscador. Sin embargo, cuando simplemente escribo

 import tweepy 

en el IDLE, me sale este error:

 Traceback (most recent call last): File "/Users/jacobhill/Documents/CicadaCacophony.py", line 1, in  import tweepy File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tweepy/__init__.py", line 17, in  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 

¿Alguna idea sobre cómo remediar esto? He visto otras publicaciones aquí y los otros errores parecen estar en la línea de “módulo Tweepy no encontrado”, por lo que no sé qué hacer con mi error. ¡Gracias!

El uso de async como identificador ha quedado en desuso desde Python 3.5 y se convirtió en un error en Python 3.7 , porque es una palabra clave.

Este error de Tweepy se informó el 16 de marzo y se solucionó el 12 de mayo , pero aún no ha habido un nuevo lanzamiento . Por eso, como dice la página principal del repo :

Python 2.7, 3.4, 3.5 y 3.6 son compatibles.


Por el momento, puede instalar la versión de desarrollo:

 pip3 install git+https://github.com/tweepy/tweepy.git 

O, ya que ya has instalado una versión anterior:

 pip3 install --upgrade git+https://github.com/tweepy/tweepy.git 

También puedes seguir las instrucciones del repository:

 git clone https://github.com/tweepy/tweepy.git cd tweepy python3 setup.py install 

Sin embargo, esto significa que pip puede que no entienda completamente lo que has instalado.

En Python3.7, async convirtió en una palabra reservada (como se puede ver en la nueva sección aquí ) y, por lo tanto, no se puede usar como argumento. Es por esto que este Syntax Error es elevado.

Dicho esto, y siguiendo el GitHub oficial de tweetpy s ( aquí ), solo

Python 2.7, 3.4, 3.5 y 3.6 son compatibles.


Sin embargo, si realmente debe usar Python3.7, hay una solución. Siguiendo esta sugerencia, puedes

abrir streaming.py y reemplazar async con async_

y debería funcionar