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
conasync_
y debería funcionar